我有一个在jQuery插件中调用的setInterval(),但我想从我的主页面清除它,在那里我无法访问存储setInterval的变量.
有没有办法清除页面上的所有计时器?
Vin*_*nay 51
这可以是清除所有间隔的逻辑之一......
for (var i = 1; i < 99999; i++)
window.clearInterval(i);
Run Code Online (Sandbox Code Playgroud)
Isa*_*ler 23
您可以覆盖setInterval:
window.oldSetInterval = window.setInterval;
window.setInterval = function(func, interval) {
var interval = oldSetInterval(func, interval);
// store it in a array for stopping? stop it now? the power is yours.
}
Run Code Online (Sandbox Code Playgroud)
小智 6
答案
for (var i = 1; i < 99999; i++)
window.clearInterval(i);
Run Code Online (Sandbox Code Playgroud)
是我要找的那个。通过对这个非常简单的逻辑稍加改进,我能够做这样的事情。
var i = 0;
var rotatorId;
var rotator;
rotator = setInterval(function() {myfunction(), 3000});
rotatorId[i] = rotator;
i++;
if (rotator > 1) {
for(i = 1; i < rotatorId.length; i++){
clearInterval(rotatorId[i]);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
42342 次 |
| 最近记录: |