2016-05-17 80 views
0

我想清除時間使用jQuery的clearTimeout()函數時懸停鼠標在div上。但計時器不停止。這是我的代碼。clearTimeout在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); 

    } 

我不知道爲什麼它不工作,也沒有在瀏覽器中的錯誤。提前致謝。

+0

您應該修復縮進。 – SLaks

+0

你可以做一個小提琴http://www.jsfiddle.net – Michelangelo

回答

1

您在顯示範圍(無限循環)內使用setTimeOut再次調用顯示。在鼠標懸停時停止計時器,但另一個單獨的顯示已被觸發。您可以改用setInterval
示例https://jsfiddle.net/9aLvd3uw/118/

+0

你的答案完全適合我。非常感謝。 – Janaki