2017-02-20 13 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); 
関連する問題