Javascript resize中的条件语句不在每次满足条件时触发
我试图在调整大小时启动一个函数。问题是由于某种原因,条件语句并不是每次都被执行。代码是Javascript resize中的条件语句不在每次满足条件时触发,javascript,jquery,resize,Javascript,Jquery,Resize,我试图在调整大小时启动一个函数。问题是由于某种原因,条件语句并不是每次都被执行。代码是 var old_width= $(window).width(); $(window).on('resize.3col',function(e){ clearTimeout(timer); timer=setTimeout(function(){ var nw= $(window).width(); if((nw <= old_width) && (nw &l
var old_width= $(window).width();
$(window).on('resize.3col',function(e){
clearTimeout(timer);
timer=setTimeout(function(){
var nw= $(window).width();
if((nw <= old_width) && (nw <= '940') && (nw >= '915') ){
appendList('resize.3col');
}
old_width= nw;
} , 500);
});
var old_width=$(window.width();
$(窗口).on('resize.3col',函数(e){
清除超时(计时器);
计时器=设置超时(函数(){
var nw=$(窗口).width();
如果((nw尝试此代码,看看是否有任何差异:
var $win = $(window),
oldWidth= $win.width(),
winResized = function(){
var newWidth= $win.width();
if (
newWidth <= oldWidth &&
newWidth <= 940 &&
newWidth >= 915
){
appendList('resize.3col');
}
oldWidth = newWidth;
},
timer;
$win.on('resize.3col',function(e){
clearTimeout(timer);
timer = setTimeout(winResized, 500);
});
var$win=$(窗口),
oldWidth=$win.width(),
winResized=函数(){
var newWidth=$win.width();
如果(
newWidth我使用相同的计时器变量调用具有不同名称空间“3col”、“4col”和“5col”的调整大小事件。我还添加了if(timer)clearTimeout(timer);这改进了功能。谢谢:)您应该替换这两个$(window)。width()
使用nw
在您的条件中调用时,是否确实只想在代码从较大的大小调整并且宽度在25px范围内时触发代码?如果是这样,只要计时器
提前声明(即:var timer;
),您的代码就可以工作