清除使用setTimeout模拟的setInterval,你需要稍微修改一下代码,使其可以返回一个可以用来清除定时器的对象。以下是一个例子:
function myInterval(func, delay) { var timeoutId = null; function interval() { func(); timeoutId = setTimeout(interval, delay); } timeoutId = setTimeout(interval, delay); return { clear: function() { clearTimeout(timeoutId); } }; } // 使用方法 var myIntervalId = myInterval(function() { console.log("这是一个定期执行的消息!"); }, 2000); // 每2000毫秒执行一次,也就是每2秒执行一次 // 当你想要取消定时器时 myIntervalId.clear();
如果你需要清除使用setTimeout模拟的setInterval,你需要稍微修改一下代码,使其可以返回一个可以用来清除定时器的对象。以下是一个例子:
浙公网安备 33010602011771号