我有根据窗口大小运行的函数,并根据调整大小而变化;
function checksize() {
if ( $(window).width() > 1220 ) {
//sticker1220();
} else if ( $(window).width() > 640 & $(window).width() < 1219 ) {
sticker950();
} else if ( $(window).width() < 639 ) {
sticker320();
}
};
checksize();
$(window).resize(checksize);
我发现当我打开尺寸为1230px的窗口,然后将其更改为300px时,我可以使用三个功能。我用CSS解决了这个问题。但是要获得更好的代码,我想知道如何停止此功能。
最佳答案
嗨,我对此有更多解决方案。
1:通过使用setTimeout和clearTimeout
var timeout = null;
function checksize() {
if(timeout){
clearTimeout(timeout);
}
timeout = setTimeout(function(){
//Your code logic here
}, 1000);
}
checksize();
$(window).resize(checksize);
2:通过使用javascript对象
function windowResize(){
var onRunning = false, self = this;
this.onResized = function(){
if(onRunning){
//Your code logic here
onRunning = true;
}
onRunning = false;
}
}
var _myObject = new windowResize();
function checksize() {
_myObject.onResized();
}
checksize();
$(window).resize(checksize);
希望对您有帮助:) ...