4 javascript jquery settimeout cleartimeout
clearTimeout()内部for循环不起作用
for(i=0;i<10;i++){
myVar = setTimeout(function(){
alert("Hello")
}, 3000);
}
Run Code Online (Sandbox Code Playgroud)
小提琴:不工作
小提琴:工作
请帮我停setTimeout()在第一个小提琴.
ade*_*neo 10
你必须保持对循环中创建的每个超时的引用,然后迭代并清除每个myVar超时,否则你只是用新的超时覆盖而不清除前一个超时,并在你去的时候丢失句柄等.
$(document).ready(function(){
var myVar = []
$("#myfunction").click(myFunction);
$("#mystopfunction").click(myStopFunction);
function myFunction() {
for(i=0;i<10;i++){
myVar.push(
setTimeout(function(){
alert("Hello")
}, 3000)
);
}
}
function myStopFunction() {
myVar.forEach(function(timer) {
clearTimeout(timer);
});
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2143 次 |
| 最近记录: |