JavaScript Div einblenden bei Mausbewegung

jimi7777

Cadet 4th Year
Registriert
Dez. 2011
Beiträge
117
Hallo,

ich habe vor ein DIV immer dann einzublenden wenn die Maus bewegt wird. Und falls sie für eine gewisse Zeit zb (5 sek) nicht bewegt wird, soll dieses DIV wieder ausgeblendet werden. Mit JQuery funktioniert das Ein- und Ausblenden sehr gut.

Code:
document.onmousemove = function()
{
        $("#DIV-ID").fadeIn(5000);
}

Nur mein Problem ist, wie weiter...



Vielen Dank schon mal!
 
Also mit den Methoden setTimeout() und clearTimeout() könnte man arbeiten...

bei MouseMove wird der Timeout resettet und wieder auf 5 Sekunden gesetzt... und am Ende des Timeouts wird der Div ausgeblendet...

Code:
var clearTimeoutId = 0;
function hideDiv()
{
        if (clearTimeoutId != 0) {
                window.clearTimeout(clearTimeoutId);
                clearTimeoutId = 0;
        }
        $("#DIV-ID").fadeOut(5000);  // oder anderer Code halt
}

function setClearTimeout()
{
        if (clearTimeoutId != 0) {
                window.clearTimeout(clearTimeoutId );
        }
        clearTimeoutId = window.setTimeout("hideDiv()", 5000);
}

// ...

document.onmousemove = function()
{
        $("#DIV-ID").fadeIn(5000);
        setClearTimeout();
}
 
Zuletzt bearbeitet: (Interval durch Timeouts ersetzt)
SetTimeout kann man auch direkt eine Funktion anstatt eines Strings uebergeben.
 
vielen Dank an alle!!.. das mit dem TimeOut funktioniert gut :)
 
Guten Tag zusammen,

Irgendwie tut das bei mir nicht so wie es soll.
Div einblenden bei mausbewegung und ausblenden wenn die maus sich ne gewisse zeit nicht bewegt. .. Bei erneuter mausbewegung soll er wieder eingeblendet werden.

Der Div wird zwar eingeblendet aber nicht mehr aus.

woran kann das liegen?

http://jsfiddle.net/VYfc9/209/ das hier ist der code dazu.

Vielen Dank im Voraus!
 
Mach es so

Code:
window.setTimeout(hideDiv, 500);

statt so

Code:
window.setTimeout("hideDiv()", 500);

Weiter oben habe ich schon geschrieben, dass man setTimeout auch direkt die Funktion statt eines Strings uebergeben kann und so sollte man es grundsaetzlich auch machen. In deinem Fall geht es nicht anders.
 
Merci schon mal.

In Firefox funktioniert das.
IE und Safari nicht .. woran kann das liegen?

Dort siehts aus wie ein blinkender Div :)
 
Moinsen..

vielleicht eine ganz simple Frage.
Das mit dem ein und ausblenden funktioniert wie oben beschrieben.
nur was muss ich tun um das zu unterbrechen, wenn die maus sich über den eingeblendeten container befindet?

wenn sie diese dann wieder verlässt soll er das timeout wieder starten?

gruss
 
Zurück
Oben