2013-12-19 3 views
0

기본적으로 누군가가 div 자체를 클릭하면 카운트 다운이 중지되기를 원합니다.jQuery를 사용하여 카운트 다운 일시 중지

그래서 나는 다음과 같은 코드이 코드는 내가 그러니까 기본적으로 누군가가 클릭하면 카운트 다운을

<a href="javascript:void(0)" onclick="cancel_countdown();"> 
<div id="watched_countdown"></div> 
</a> 

을 표시이 HTML 마크 업이 다음

카운트 다운을 위해이

var count = 60; 

jQuery("#watched_countdown").text(count); 

var myTimer = setInterval(function(){ 
    if(count > 0){ 
     count = count - 1; 
     jQuery("#watched_countdown").text(count); 
    } 
    else { 
     clearInterval(myTimer); 
     update_entry_episode(); 
    } 
},1000); 

에게 있습니다 링크에서 카운트 다운을 일시 중지해야합니다. 따라서 누군가가 링크를 클릭 할 때 사용자가이 링크를 클릭 할 때 update_entry_episode() 기능을 실행하지 않으려 고하기 때문에 카운트 다운을 일시 중지하는 다른 기능을 실행한다고 생각합니다.

시각적으로는 카운트 다운을 일시 중지해야하며 이 0이되지 않는 한 자동으로 실행해야하는 update_entry_episode()을 실행해서는 안됩니다.

내 주요한 점은 변수를 줄이기 위해 cancel_countdown()에 넣어야하는 것은 무엇입니까?

답변

1
<div id="watched_countdown"></div> 

<a href="#cancel" id="cancel">cancel</a> 

사용 사항 clearInterval();

var count = 60; 

$("#watched_countdown").text(count); 

var myTimer = setInterval(function(){ 
    if(count > 0){ 
     count = count - 1; 
     $("#watched_countdown").text(count); 
    } 
    else { 
     clearInterval(myTimer); 
     update_entry_episode(); 
    } 
},1000); 


var cancelCount = function(){ 
    clearInterval(myTimer); 
    myTimer = null; 
}; 

$('body').on('click','#cancel',cancelCount); 
+0

http://jsfiddle.net/va87q/1/ –

0

clearInterval()을 사용하여 타이머를 '일시 중지'한 다음 전체 setInterval을 사용하여 다시 시작해야합니다. 여러 곳에서 참조 할 수 있도록 명명 된 함수로 setInterval 콜백을 정의하는 것이 좋습니다.

+0

그래서'사용하는 경우

' 이 정확히 무엇을 할 것인지, 클릭 할 때? – Maaz

+0

원본 setInterval 반환 값을 전달해야합니다. 나는. clearInterval (myTimer); –

+0

하지만 그 변수에 액세스 할 수 있습니까? 이렇게하면 '

' 내가해야 할 일이 무엇이겠습니까? 타이머를 멈추고 모두 끝내겠습니까? – Maaz

관련 문제