좋아, 이제 문제를 이해합니다. 더 높은 범위 (필요한 경우 전역)에 interval
을 선언해야합니다. 당신의 문제는 interval
입니다. varible은 클릭 기능 내부에 선언되어 있기 때문에 로컬 변수입니다. 다른 곳에서 참조를 액세스하여 지울 필요가 있습니다.
클릭하고 모든 기능을 클릭 기능에 넣지 말고 클릭 기능이 작동하는 것과 동일한 수준으로 설정하십시오.
var interval;
function doInterval() {
if (interval != undefined) clearInterval(interval);
interval = setInterval(function(){
console.log('running');
},1000);
}
P/S : 질문을 명확히하기 위해 질문을 편집해야합니다.
$('#someButton').on('click', function() {
clearInterval(interval)
var interval = setInterval(function(){
console.log('running')
},1000);
});
다음 발생하는 문제의 범위가 함께 할 수있는 모든은 다음과 같습니다
당신이 그것을 만들기 전에'interval'을 지우십시오 ... –
그리고 한 번만 실행하려면 setTimeout' 대신 – Drkdra
을 사용하십시오. @RoryMcCrossan setInterval 후에 clearInterval을 넣으면 실행되지 않을 것임을 의미합니다. –