nemoinho: Eventlistener, Funktion ausführen, wenn Zeitspanne > Wert

Beitrag lesen

Hallo,

dein beschriebenes Problem würde ich mit einer verschachtelten Funktion lösen. Du führst ja aus, dass du das Event erst nach einer gewissen Zeitspanne ausführen willst. Diesen Effekt kann man mit setTimeout hervorragend erzeugen.

Deshalb hier ein kleines Beispiel:

(function(){  
    // timeout in msec  
    var timeout = 3000;  
    // cache für die verzögerte Ausführung  
    var delay = null;  
    // Funktion die ausgeführt werden soll  
    var deferredshakestart = function(e){  
        // do something  
    };  
    // In dieser Funktion wird die Verzögerung initialisiert  
    var shakestart = function(e){  
        e = e || window.event;  
        delay = window.setTimeout(deferredshakestart, timeout);  
    };  
    // Hier wird die Verzögerung gelöscht, falls sie noch nicht ausgeführt  
    // wurde andernfalls wird sie auch gelöscht, aber das ist dann auch egal.  
    var shakeend = function(e){  
        window.clearTimeout(delay);  
        // do something  
    };  
    window.addEventListener("shakestart", shakestart, false);  
    window.addEventListener("shakeend", shakeend, false);  
})();  

Mit freundlichen Grüßen

--
Manchmal gibs was neues :)
fo:| ch:| rl:( br:> n4:? ie:( va:) de:> zu:) fl:( ss:| ls:[ js:)