如何在控制台上更改setTimeout值?
答案 0 :(得分:0)
您可以销毁当前超时
var timer;
$('#startTimer').click(function() {
timer = setTimeout(function(){
//...
},5000)
});
$('#endTimer').click(function() {
clearTimeout(timer);
timer = setTimeout(function(){
//...
},0)
});
答案 1 :(得分:0)
如果我理解正确,您希望有办法立即执行该功能,而不是等待计时器到期。
您可以在click函数之外定义计时器功能,并将其作为参数注入。您还需要从click函数返回timerId,以便清除计时器。
这样的事情应该有效:
var delayed = function() {
console.log("It happened late");
};
var click = function(a, b, delayed) {
if(a !== b) {
return setTimeout(delayed, 5000);
}
// If a and b are equal, we don't do anything
return null;
};
var timerId = click(1, 2, delayed);
if(timerId) {
clearTimeout(timerId);
setTimeout(delayed, 0);
}
当你在控制台中运行它时,文本"它发生得太晚了#34;立即执行,并且没有延迟执行延迟功能。