2016-05-17 15 views
0

Ich versuche Zeit mit jQuery clearTimeout() -Funktion zu löschen, wenn Maus auf das div. Aber Timer wird nicht gestoppt. Hier ist mein Code.clearTimeout funktioniert nicht in jquery?

$(document).ready(function(){ 

var timer= setTimeout(function() 
    {display()},3000); 

    $('.movieSlide').hover(function(){ 
     clearTimeout(timer) ; 

    }); 
}); 


function display(){ 
    var container=$('.movieSlide'); 
    var slideDiv=$('.movieSlide').find('.movieReview'); 

    slideDiv.css({"display":"none"}); 

    $(slideDiv[1]).css({"display":"block"}); 

    $(slideDiv[2]).css({"display":"block"}); 

    $(slideDiv[0]).appendTo(container); 

    setTimeout(display,5000); 

    } 

Ich bin mir nicht sicher, warum es nicht funktioniert und auch kein Fehler im Browser. Danke im Voraus.

+0

Sie sollten Ihren Einzug korrigieren. – SLaks

+0

Können Sie eine Geige machen http://www.jsfiddle.net – Michelangelo

Antwort

1

Sie rufen die Anzeige erneut auf, indem Sie setTimeOut im Anzeigebereich (Endlosschleife) verwenden. Wenn Sie die Maus halten, wird der Timer gestoppt, aber ein anderes separates Display wurde bereits ausgelöst. Sie können stattdessen setInterval verwenden.
Beispiel https://jsfiddle.net/9aLvd3uw/118/

+0

Ihre Antwort funktioniert perfekt für mich. Danke vielmals. – Janaki