clearTimeout在jquery中不起作用?

时间:2016-05-17 15:29:04

标签: jquery

当我将鼠标悬停在div上时,我正在尝试使用jquery clearTimeout()函数清除时间。但是计时器没有停止。这是我的代码。

$(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);

     }

我不确定为什么它不起作用,浏览器也没有错误。提前谢谢。

1 个答案:

答案 0 :(得分:1)

您在显示范围内使用setTimeOut再次调用显示(无限循环)。鼠标悬停时停止计时器,但另一个单独的显示已被触发。您可以改用setInterval
示例https://jsfiddle.net/9aLvd3uw/118/