如何在悬停时暂停setInterval

How do I pause a setInterval on hover

本文关键字:暂停 setInterval 悬停      更新时间:2023-09-26

我有一个使用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);
});

您不能暂停,但您可以清除间隔,然后在mouseout上重新启动间隔:

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