一段时间后调用函数,但只调用一次
call function after some time but only one time
我只想用javascript调用函数一次,但需要一段时间。
setTimeout(function(){ $('.alert').fadeOut(2000) }, 5000);
现在我正在使用这个,但是这个函数调用了多次。一段时间后我只需要调用一次
例如,如果您有这样的函数:
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时,它会执行timeout函数。第二次没有。为了证明你可以控制锁,你会看到第三个锁确实执行了超时功能。
相关文章:
- 如何在chrome扩展中存储数据/结果,以及如何使用setTimeout使其只被调用一次
- Rails操作只调用一次,但我在ajax中每秒钟都调用一次
- Angular 1.5变量在调用一次之前不起作用
- 如何每 10 秒调用一次 JS 函数,然后以角度激活一个函数
- Javascript 计时器只调用一次 Code 隐藏方法
- 一段时间后调用函数,但只调用一次
- 每隔1秒调用一次jQueryajax是否安全
- 什么时候函数只能调用一次
- 如何在重复满足条件时调用一次辅助函数
- JS:.apply(null,arguments)——为什么我的函数被调用一次,而console.log被调用多次
- Angular指令删除只调用一次的DOM元素
- 对于新建的元素,onchange函数只调用一次
- ASP.NET:每5分钟从代码后面调用一次弹出窗口
- 每10秒调用一次页面加载事件
- 调用一次jQuery函数
- 我想在窗口加载后只调用一次JavaScript setInterval函数
- 如何只调用一次事件处理程序,而不是每次单击项目时调用事件处理程序
- 回调函数不会在使用 $timeout 的服务中只调用一次
- Angular 1.5.0 - 为什么工厂只调用一次
- 仅调用一次 onkeyup 函数