防止同一函数的实例,如果加载一次jquery
Preventing instance of same function if loaded once jquery
我的网站导航需要转换为垂直导航,所以我测量视口的宽度,并将其与resize
和load
功能绑定。然后执行menuConvert()
函数。但是在调整窗口大小时,会导致多次执行menuConvert()
函数。
我的js代码是
$(window).bind('load resize', function(){
width = $(window).width();
console.log(width)
if(width < 800){
menuConverter(); // This is the function
}
});
如果函数被执行,我想阻止它的执行。
您可以取消绑定事件
$(window).bind('load resize', function(){
width = $(window).width();
console.log(width)
if(width < 800){
menuConverter(); // This is the function
//Unbind
$(window).unbind('load resize')
}
});
我建议使用.on()
和.off()
分别代替.bind()
和.unbind()
。
你可以这样做
var flag800;
$(window).bind('load resize', function () {
if (width < 800) {
if (flag800 !== true) {
menuConverter(); // This is the function
flag800 = true;
}
} else {
flag800 = false;
}
});
演示:小提琴
使用简单的bool变量。
var menexe = false;
$(window).bind('load resize', function(){
width = $(window).width();
console.log(width)
if(width < 800){
if(menexe === false){
menuConverter(); // This is the function
menexe = true;
}
}
});
相关文章:
- 加载器组件仅加载一次
- 如何加载一次模型并将其存储到变量中
- 每15天为新用户加载一次放大弹出菜单
- Jquery Ajax每隔1秒加载一次
- 每个用户/浏览器会话只加载一次Javascript
- 获取 window.location.reload 以在 Ionic 中仅加载一次
- 只加载一次js函数
- 用于单击页面上的按钮的Javascript,每隔几分钟就会加载一次
- Facebook喜欢的按钮只加载一次
- 如何每 30 秒加载一次页面的一部分
- 如何在用户滚动到页面底部时仅加载一次数据
- Chrome 确实会加载一次视频文件,但不会加载两次
- 位置.重新加载多次加载.只需在单击时重新加载一次
- JavaScript 只重新加载一次
- 添加 removeMarker 函数时,每 5 秒在地图上加载一次图钉不会显示图标
- Javascript正文加载一次
- 节点.js每 n 分钟重新加载一次外部文件
- 如何解决谷歌图表加载器.js只能加载一次
- 如何确保 javascript 只加载一次
- imacro 每 10 次循环加载一次 URL