我想禁用该功能,并在超时后启用它。
例如,我想在一段时间后停止第一个脚本的循环,然后再次启动。
JS
// Script that loops
function messages() {
setInterval(function() {
setTimeout(function() {
alert("Hello!");
}, 2000);
setTimeout(function() {
alert("I said hello!");
}, 10000);
}, 20000); // It's looping every 20 sec
}
// Script with timeout to stop the loop
setTimeout(function() {
messages.stop();
}, 60000); // Stop it after 60 sec
setTimeout(function() {
messages.start();
}, 120000); // Start again it after 120 sec
可以做到吗?
答案 0 :(得分:1)
如果在循环内,您不能:
// the start method turns a variable to true for example in the inner function scope
if (start) {
setTimeout((data) => data, 25000);
}
这项工作吗?希望能帮助到你。
答案 1 :(得分:1)
希望它能对您有所帮助。
function messages() {
var main = setInterval(function() {
setTimeout(function() {
alert("Hello!");
}, 2000);
setTimeout(function() {
alert("I said hello!");
}, 10000);
}, 20000); // It's looping every 20 sec
setTimeout(function() {
clearInterval(main);
}, 60000); // stop again it after 60 sec
setTimeout(function() {
messages();
}, 120000); // start again it after 120 sec
}
messages();
已更新