Menü einblenden nach 1 Sek mit Javascript
Bino
- javascript
0 Christian S.0 Bino
1 Felix Riesterer
Hallo Zusammen,
ich hab das Inet kreuz und quer gesucht, aber nix passendes gefunden:
Ich hab ein div-Menü erstellt und möchte das wenn der User mit der Maus drüber geht das menü erst nach 1 Sek aufklappt. Verlässt der User mit der Maus den Bereich und ist woanders soll das aufklappen abgebrochen werden.
Ich hab das wie folgt gestaltet:
function auf()
{
if(document.getElementById('dynDiv').style.display=="none")
{
var steuerung = window.setTimeout("aufverzo()", 1000);
}
}
function aufverzo()
{
document.getElementById('dynDiv').style.display='';
document.getElementById('dyn2Div').style.display='none';
window.clearTimeout(steuerung);
}
function zu()
{
window.clearTimeout(steuerung);
document.getElementById('dynDiv').style.display='none';
document.getElementById('dyn2Div').style.display='';
}
// Aufruf der Funktion im div
<div onmousemove = "zu()"> anderesblabla</div>
<div onmousemove = "auf()">blabla</div>
<div onmousemove = "zu()"> anderesblabla</div>
Das Verzögerte aufklappen funktioniert, jedoch nicht wenn man schnell drüber geht, die anderen Bereich ober- und unterhalb haben auch den zu()-Befehl.
Ansonsten funktioniert der Abbruch wenn ich gezielt meine Maus in einem anderen Bereich bewege...
Kann mir jemand helfen?
Danke!
Hi,
also mir fällt nur direkt mal auf, dass steuerung nur eine globale variable ist, und daher nicht für clearTimeout verwendet werden kann, und du solltest vll. eher den mouseover event verwenden
Gruß!
@ Christian:
ich habs jetzt in
window.setTimeout("aufverzo()", 1000);
und
window.clearTimeout;
, sowie jeweils ein onmouseover draus gemacht.
Das Problem besteht leider weiterhin <.<
Lieber Bino,
wie passen eigentlich
wenn der User mit der Maus drüber geht das menü erst nach 1 Sek aufklappt.
und
Das Verzögerte aufklappen funktioniert, jedoch nicht wenn man schnell drüber geht
zusammen?
Soll nun das Aufklappen um eine Sekunde verzögert geschehen, oder nicht? Wenn also der User mit schnellen Bewegungen innerhalb dieser einen Sekunde bereits von Deinem Menü wieder weg geht, dann wird das Ausklappen ja korrekt Deiner Vorgaben unterbrochen und es geschieht nichts!
Meiner Meinung nach solltest Du das Ausklappen nicht verzögern. Das erzeugt beim Surfer eher den Eindruck "da geht halt nix". Wer hat denn schon die Lust/Zeit/Bedürfnis auf eine langweilige Animation zu warten, nur weil so ein Design-Fuzzi meinte, das sei cool?
Im Übrigen solltest Du peinlich genau darauf achten, dass Deine Seite auch ohne JavaScript benutzbar bleibt. Den Klappmechanismus solltest Du daher rein mittels CSS realisieren und auf JavaScript völlig verzichten!
Liebe Grüße aus Ellwangen,
Felix Riesterer.