我想setInterval()基于特定功能的成功触发一个.
function myCountComplete(){
//do something
count++;
if(count > 10){
var myVar = setInterval(function(){ setColor() }, 300);
}
}
function setColor() {
var x = document.body;
x.style.backgroundColor = x.style.backgroundColor == "yellow" ? "pink" : "yellow";
}
Run Code Online (Sandbox Code Playgroud)
如何myVar在单击按钮时清除间隔?
$("#stop").click(function(){
clearInterval(myVar);
});
Run Code Online (Sandbox Code Playgroud)
您始终可以在全局范围内设置它,即
window.myTimer = setInterval(function(){ setColor() }, 300);
$("#stop").click(function(){
clearInterval(window.myTimer);
});
Run Code Online (Sandbox Code Playgroud)
小智 5
“窗口”不是必需的,我认为使用它是不好的做法。只需删除“var”,作用域就会自动变为全局。
http://www.w3schools.com/js/js_scope.asp