2017-02-20 54 views
0

有人可以解釋爲什麼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

回答

3

您需要捕獲的setInterval返回值和飼料,爲clearInterval

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