我想在javascript中只调用一次函数但是过了一段时间。
setTimeout(function(){ $('.alert').fadeOut(2000) }, 5000);
现在我正在使用这个,但是这个函数多次调用。我需要在一段时间后只打一次电话
答案 0 :(得分:2)
如果你有这样的函数:
function a () {
// do stuff
setTimeout(function() {
// the timeout function
}, 5000);
}
多次调用此函数a()
时。超时功能也会多次发生。
为了防止这种情况发生,你可以在其他地方设置超时功能。但你也可以使用锁机制。
var lock = false;
function a () {
// do stuff
if (!lock) {
lock = true;
setTimeout(function() {
// the timeout function
}, 5000);
}
}
a(); // first call
a(); // second call
lock = false;
a(); // third call
现在第一次调用函数a时,它会执行超时函数。第二次没有。为了证明您可以控制锁定,您将看到第三个执行超时功能。