JavaScript在指定时间之后才允许函数
在一个网站上工作,它有一个JS函数,当鼠标移动时会进行更新——我不希望它在指定的时间内做任何事情,例如,就好像整个代码块被注释掉直到5秒 浏览堆栈溢出后,我得出结论,解决方案可能涉及setTimeOut,但我已经尝试过了,它没有效果,在浏览器控制台中也没有错误。我尝试的函数是函数updateevent: 最后一个导致它破裂 未捕获的语法错误:意外标记 任何帮助都将不胜感激,JavaScript在指定时间之后才允许函数,javascript,jquery,html,Javascript,Jquery,Html,在一个网站上工作,它有一个JS函数,当鼠标移动时会进行更新——我不希望它在指定的时间内做任何事情,例如,就好像整个代码块被注释掉直到5秒 浏览堆栈溢出后,我得出结论,解决方案可能涉及setTimeOut,但我已经尝试过了,它没有效果,在浏览器控制台中也没有错误。我尝试的函数是函数updateevent: 最后一个导致它破裂 未捕获的语法错误:意外标记 任何帮助都将不胜感激, Jarrod函数MyFunction将在5秒前被禁用: var canStart = 1; function MyFun
Jarrod函数MyFunction将在5秒前被禁用:
var canStart = 1;
function MyFunction() {
if(!canStart){
return false;
}
//YourFunction
canStart = 0;
setTimeout(function(){
canStart = 1;
}, 5000);
}
该方法不是setTimeOutfunctionName,timeout。
它是setTimeoutfunctionName,timeout
你所做的是错误的:
setTimeoutupdate,5000;
setTimeoutupdateevent,5000;
setTimeoutfunction updateevent,5000
您的代码所做的是:
setTimeout(update, 5000);
它在setTimeout调用5秒后运行函数update
它使用parameters事件调用update方法。然而,这个更新方法必须返回一个函数,这是我们不想要的
setTimeout(function update(event), 5000);
这是完全错误的。您可能需要:
setTimeout(function(event) {
//Do whatever you want here.
}, 5000, event);
还有,最后一种方法:
function() {
}
这就是所谓的匿名函数。您确定控制台中没有错误吗?没有什么像“setTimeOut”这样的未定义?啊,等等,没有-你是对的-setTimeOut未定义是因为我刚刚修复了一个错误,所以你想在加载页面5秒后,在mousemove上“不允许”更新功能吗?这是你的问题吗?是的,这就是问题所在。所以5秒后,解除鼠标移动事件的绑定。现在,如何绑定mousemove事件?发布有问题的相关代码本身。您可以覆盖update方法而不执行任何操作,但更好的方法是取消绑定mousemove事件
setTimeout(function(event) {
//Do whatever you want here.
}, 5000, event);
function() {
}