2014-11-20 3 views
1

슬라이드 쇼 사용 setInterval 5 초, 각 슬라이드는 5 초 정지해야합니다.Jquery 재설정 setInterval 시간

이전 버튼을 클릭하면 슬라이드가 이전 이미지로 돌아갑니다.

내 문제는 사용자가 이전의 시간을 계속 클릭하는 것입니다. (이전 이미지 만 3 초가 아닌 5 초)

사용자가을 클릭하면 시간을 재설정 할 수 있습니까? 이처럼

setInterval(function(){ 
    //start slide... 
},5000); 


$('#previous').click(function(){ 
    //go back to previous slide and reset time 
}); 
+0

http://stackoverflow.com/q/109086/20126 –

답변

8

:

var interval; 
var timer = function(){ 
interval = setInterval(function(){ 
    //start slide... 
},5000); 
}; 


$('#previous').click(function(){ 
    //go back to previous slide and reset time 
    clearInterval(interval); 
    timer() 
}); 
1

기능에 간격-설정 코드를 넣습니다. 전역 적으로 선언 된 변수에 간격을 할당하십시오.

재설정 할 때 간격을 지우고 다시 시작할 수 있습니다.

startInt()을 호출하여 DOM로드 간격을 시작하거나 #previous 중 하나를 클릭하여 방아쇠를 당길 수 있습니다.

var myInterval = undefined, 
    startInt = function(){ 
    myInterval = setInterval(function(){ 

    }, 5000); 
}; 

$('#previous').click(function(){ 
    if(typeof myInterval != 'undefined'){ clearInterval(myInterval); } 
    startInt(); 
}).click();