我想在我的代码中执行一次js函数。在resize
或load
处理程序中
。我有一个函数,如果一个语句为真,另一个语句调整大小,则执行。所以当我的语句为真时,执行该函数,如果调整窗口大小,我不希望再次执行该函数。
if(vertical){
vertical();
}
和
$(window).resize(function(){
vertical();
}
并且
var vertical = function(){
..........
}
如果多次调整窗口大小,我也会阻止执行
答案 0 :(得分:2)
你必须使用某种标志:
var flag = false;
function vertical() {
if (!flag) {
flag = true;
// do your job
}
}
答案 1 :(得分:0)
你可以通过信号量来解决这个问题。
因此,您将一个标志设置为false,在调用该函数之前,您只需要调用一次if(flag)
,执行代码并将标志设置为true
答案 2 :(得分:0)
添加变量以检查函数是否被触发
var execute = true;
if(vertical){
if (execute) {
vertical();
execute = false;
}
}
$(window).resize(function(){
if (execute) {
vertical();
execute = false;
}
}
答案 3 :(得分:0)
只需在vertical()函数的末尾使用unbind函数,这样当它首先执行时它将取消绑定事件以便下一个窗口调整大小。