如何在悬停时暂停setInterval

时间:2015-04-03 16:23:43

标签: javascript jquery

我有一个使用setInterval显示的幻灯片。当用户将鼠标悬停在幻灯片上时,我希望暂停,而不是清楚。以下是我到目前为止的情况。谢谢!

$(function changeSlide() {
  var i = 0;
  var autoplay = setInterval(function(){ 
    if(i<5)
    {
      $(".Slideshow").slick('slickGoTo',i);
      i++;
    }
    else
    {
      $(".Slideshow").slick('slickGoTo',0);
      clearInterval(autoplay);
    }
    $(".Slideshow").hover(function(){
        // pause interval while hovering
      });

  }, 4000);
});

1 个答案:

答案 0 :(得分:1)

您无法暂停,但您可以执行的操作是清除间隔,然后在mouseout上重新启动间隔:

$(".Slideshow").hover(function(){
    clearInterval(autoplay);
}, function () {
    //mouseout function
    changeSlide();//start everything again
});
相关问题