我的网站导航需要转换为垂直导航,因此我测量视口的宽度并将其与resize
和load
函数绑定。然后它执行menuConvert()
函数。但是在调整窗口大小时会导致多次执行menuConvert()
函数。
$(window).bind('load resize', function(){
width = $(window).width();
console.log(width)
if(width < 800){
menuConverter(); // This is the function
}
});
如果一旦执行,我想阻止执行该功能。可以提供任何帮助
答案 0 :(得分:4)
您可以取消绑定事件
$(window).bind('load resize', function(){
width = $(window).width();
console.log(width)
if(width < 800){
menuConverter(); // This is the function
//Unbind
$(window).unbind('load resize')
}
});
答案 1 :(得分:0)
您可以执行类似
的操作var flag800;
$(window).bind('load resize', function () {
if (width < 800) {
if (flag800 !== true) {
menuConverter(); // This is the function
flag800 = true;
}
} else {
flag800 = false;
}
});
演示:Fiddle
答案 2 :(得分:0)
使用简单的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;
}
}
});