cybton.com
Über uns | Jobs | Werbung | Sitemap | AGB | Impressum | Hilfe ?
 Kostenlos anmelden)
Forum
Aktuellste Beiträge
Forenregeln

Community
BB-Codes
Tags
Chat
Suche (Web)
Wer ist online?
Top-User

Basar


Statistik
Mitglieder gesamt: 68142
Mitglieder online: 1
Gäste online: 0
mehr...

Anzeige
Forum » Forum: Website & Webprogrammierung » Thread: [gelöst] Problem: Menü nach best. Zeit ausblenden

Thread: [gelöst] Problem: Menü nach best. Zeit ausblenden


06.10.2007 15:21 Uhr

 

Status: offline
Servus, folgendes Problem.
Wenn ich mit der Maus über einen Button gehe, wird etwas weiter unten ein Menü sichtbar. Wenn ich mit der Maus vom Button weggehe, wird das Menü wieder ausgeblendet.

Ich hab versucht mit folgendem Code das Ausblenden um 5 Sekunden zu verzögern. Klappt nur leider nicht.
PHP:
1
2
3
4
5
6
7
8
9
10
 
var zeitabstand = 5000;
var timer = null;
 
 function anzeigen(das){
 if(document.getElementById(das).style.display=='none')
   document.getElementById(das).style.display='block';
 else
  [b] timer = setTimeout(zeitabstand);[/b]
   document.getElementById(das).style.display='none';}
Könnte mir da bitte jemand helfen?
1 mal bearbeitet
06.10.2007 16:01 Uhr

 

bmk
Moderator
Status: offline
Bitte lies in der JS-Doku nach, was setTimeout() macht. Du verwendest es einfach falsch ;-)

LG, bmk.
___________________________
Let's code responsibly...
Webcrawler -- Portal für Dirigenten -- Musikverein Königstetten
06.10.2007 16:10 Uhr

 

Status: offline
Bin schon dabei. Werde nur (noch) nicht schlau daraus.

Habe den Code nun so geändert:
+ PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<script type=\"text/JavaScript\">
<!--
 
 function anzeigen(das){
 if(document.getElementById(das).style.display==\'none\')
   document.getElementById(das).style.display=\'block\';
 else
   }
 
 function ausblenden(das){
 if(document.getElementById(das).style.display==\'block\')
   document.getElementById(das).style.display=\'none\';
 else
   }
 window.setTimeout(\"ausblenden(das)\", 2500);
 
-->
</script>
Das Ein- und Ausblenden geht, nur die Verzögerung dabei nicht.
06.10.2007 16:27 Uhr

 

Status: offline
Hmm, ich glaube, ich hab\'s jetzt.
+ PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<script type=\"text/JavaScript\">
<!--
 function anzeigen(das){
 if(document.getElementById(das).style.display==\'none\')
   document.getElementById(das).style.display=\'block\';
 else
   document.getElementById(das).style.display=\'block\';}
 
 function ausblenden(das){
 if(document.getElementById(das).style.display==\'block\')
   document.getElementById(das).style.display=\'none\';
 else
   document.getElementById(das).style.display=\'none\';}
-->
</script>
Und bei dem Menü dann:
PHP:
1
<div onmouseover=\"anzeigen(\'menue1\')\" onmouseout=\"window.setTimeout(function(){ausblenden(\'menue1\')},2500);\">[Inhalt]</div>
06.10.2007 18:36 Uhr

 

Status: offline
*hust*
1. keine Doppelposts. Hab eich eben bei jemanden schon gesehen und da habe ich nichts gesagt nun bist du dran  :roll: 
Keine Doppelposts!! Das Forum hat eine Editierfunktion

2.
PHP:
1
2
3
4
5
6
 function anzeigen(id){
 
 if(document.getElementById(id).style.display==\'none\')
   document.getElementById(id).style.display=\'block\';
 else
   document.getElementById(id).style.display=\'block\';}
wofür die if ist weiß auch niemand oder?
Deko?

weil wenn in bei TRUE und FALSE das gleiche gemacht wir kann man es auch lassen

es würde so sinn machen:
PHP:
1
2
3
4
5
6
 function anzeigen_ausblenden(das){
 
 if(document.getElementById(das).style.display == \'none\')
   document.getElementById(das).style.display=\'block\';
 else
   document.getElementById(das).style.display=\'none\';}
Was habe ich geändert?
ganz einfach.
Die IF prüft, ob das Element sichtbar ist oder nicht (vereinfach ausgedrückt) und wenn es nicht sichtaber ist, wird es sichtbar gemacht und wenn es sichtbar ist, dann wird es ausgeblendet

Der Gleiche Fehler auch bei ausblenden()

du brauchst nur meien Funktion oben und das muss so sein:
PHP:
1
<div onmouseover=\"anzeigen_ausblenden(\'menue1\')\" onmouseout=\"window.setTimeout(function(){anzeigen_ausblenden(\'menue1\')},2500);\">[Inhalt]</div>
Ach und bitte aussagekräftige Variablennamen verwenden, da bekommt man ja Ausschlag  :tongue: 

Das mit dem setTimeout sieht soweit gut aus. Man kann es zwar auch anderst lösen, aber dagegen ist eigentlich nichts zu sagen  :wink: 

LG Jens
___________________________
Meine Homepage:
http://thewebwar.cybton.com/
06.10.2007 19:44 Uhr

 

Status: offline
1) Sorry wegen Doppelpost. Wollte es nur als \"Fortschritt\" posten.
2) Die function anzeigen_ausblenden ist doch eigentlich meine Ausgangsfunktion, oder?
Von daher könnt ich die ja einfach wieder \"zurückeditieren\".

So, trotzdem nochemal Danke. Mit JS bin ich halt noch nicht so richtig warm.

Lg derpate171
07.10.2007 12:50 Uhr

 

Status: offline
wie meinst du zurückeditieren?

meinst du aus deinen beiden Funktionen \"einblenden()\" und \"ausblenden()\" die IF entfernen?

Wenn du das meinst, dann ein klares \"Ja^^\"  :wink: 

LG Jens
___________________________
Meine Homepage:
http://thewebwar.cybton.com/
07.10.2007 16:05 Uhr

 

Status: offline
Jop, sowas in der Art meinte ich.

Lg derpate171
Ähnliche Threads Forum Ähnlichkeitsgrad
 Kleines Javascript-Problem mit Menü Website & Webprogrammierung 2
 [gelöst]javascript div anzeigen und ausblenden Website & Webprogrammierung 2
 [gelöst] Mit Javascript automatisch in den Vollbildmodus wechseln - 200 cyDots Website & Webprogrammierung 1
 Mit Javascript Download starten Website & Webprogrammierung 1
 JavaScript: "... has no properties" Website & Webprogrammierung 1
 [gelöst] [JS] - Einfügen in Textarea -> WIE? Website & Webprogrammierung 1
 [solved] JavaScript: externe Funktion aufrufen Website & Webprogrammierung 1
nach obennach oben

Copyright © 2008 cybton-network

Google
Partner: #Musik - Dein Internetradio - nexem. - .wir machen news - Your-Book.net - Dein kostenloses Gästebuch
ANEXIA - PHP Entwicklung - Dockers - s.Oliver Schuhe - Think Schuhe - der eigene Weg - Dorfen - Paul Green Schuhe - Bequeme Geox - Web-Entwicklung