2016-10-14 2 views
0

clearinterval 후에 SetInterval을 다시 시작하는 방법은 무엇입니까? 내 코드Jquery에서 clearinterval 후 재시작 간격

$(document).ready(function() { 
    setTimeout(function(){ 
     var ao =$('ul').hasClass('slides'); 
     if(ao==true){ 
      var detik = -1345; 
      var time = setInterval(function(){ 
       detik+=0.5; 
       $('.slides').attr("style","width: "+oke+"px; transition-duration: 0s; transform: translate3d("+detik+"px, 0px, 0px);"); 
        if (detik > 0 ){ 
         detik = -1345; 
        } 
       }, 1); 

      $('.flex-prev, .flex-next').on('click',function(){ 
       clearInterval(time); 
      });    
     } 
    },3000); 

}); 
+0

같은 호출 결과를 다시 setInterval에 할당하여? – Kris

+2

[jQuery - clearInterval을 사용하여 setInterval을 종료 한 후 재시작하는 방법이 가능한 복제본?] (http://stackoverflow.com/questions/4986667/jquery-how-to-restart-setinterval-after-killing-it-off- with-clearinterval) – evolutionxbox

답변

0

setInterval()에 대한 기능을 만들 수 있습니다. 타이머를 다시 시작하기 위해 startInterval() 함수를 호출하면됩니다.

var detik = 0; 
$(document).ready(function() { 
    setTimeout(function(){ 
     var ao =$('ul').hasClass('slides'); 
     if(ao==true){ 
      detik = -1345; 
      startInterval(); 
      $('.flex-prev, .flex-next').on('click',function(){ 
       clearInterval(time); 
      });    
     } 
    },3000); 

    function startInterval(){ 
     time = setInterval(function(){ 
      detik+=0.5; 
      $('.slides').attr("style","width: "+oke+"px; transition-duration: 0s; transform: translate3d("+detik+"px, 0px, 0px);"); 
      if (detik > 0 ){ 
       detik = -1345; 
      } 
     }, 1); 
    } 

});