ClearInterval不起作用

问题描述:

有人可以解释为什么clearInterval调用不起作用吗?ClearInterval不起作用

$(function() { 
    var width = 720; 
    var animationSpeed = 2000; 
    var currentSlide = 1; 
    var $slider = $("#slider"); 
    var $slideContainer = $slider.find('.slides'); 
    var $slides = $slideContainer.find('.slide') 
    var intervalID = function() { 
     if (currentSlide === $slides.length) { 
      for (currentSlide = 1; currentSlide < $slides.length; currentSlide++) { 
       $slideContainer.animate({ 
        "margin-left": '+=' + width 
       }, animationSpeed).delay(1000); 
      } 
     } 
     if (currentSlide = 1) { 
      for (currentSlide = 1; currentSlide < $slides.length; currentSlide++) { 
       $slideContainer.animate({ 
        'margin-left': '-=' + width 
       }, animationSpeed).delay(1000); 
      } 
     } 
    }; 

    function startSlider() { 
     setInterval(intervalID); 
    } 

    function stopSlider() { 
     clearInterval(intervalID); 
    } 
    $slider.on('mouseenter', stopSlider).on("mouseleave", startSlider); 
    startSlider(); 
    `enter code here` 
}); 
+0

你试过调试吗? – JimHawkins

您需要捕获的setInterval返回值和饲料,为clearInterval

var intervalId = setInterval(fn, duration); 
clearInterval(intervalId);