2017-02-20 2 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); 
관련 문제