Javascript 如果窗口大小改变,如何停止功能?
我有功能运行取决于窗口大小和改变大小Javascript 如果窗口大小改变,如何停止功能?,javascript,jquery,css,Javascript,Jquery,Css,我有功能运行取决于窗口大小和改变大小 function checksize() { if ( $(window).width() > 1220 ) { //sticker1220(); } else if ( $(window).width() > 640 & $(window).width() < 1219 ) { sticker950(); } else if ( $(window).width() <
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);
函数checksize(){
如果($(窗口).width()>1220){
//标签1220();
}如果($(window.width()>640&$(window.width()<1219),则为else{
贴纸950();
}else if($(窗口).width()<639){
贴纸320();
}
};
checksize();
$(窗口)。调整大小(检查大小);
我发现,当我打开大小为1230px的窗口,然后将其更改为300px时,我有三个功能一起工作。我用css解决了这个问题。但是为了得到更好的代码,我想知道如何停止这个函数。嗨,我有更多的解决方案。 1:通过使用设置超时和清除超时
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);
我希望它对你有更多帮助:) 不知道你在期待什么。。。。。你想知道如何删除代码吗?评论一下?删除它?解开它?重写函数?如果你有长时间运行的函数,有异步回调或者没有,我认为函数必须选择中止。i、 在回调中,如果它不再有用,就选择不继续。这里有一个更好的方法来编写该程序,但我仍然不确定你想知道什么。
sticker()
有什么作用?我猜你的贴纸函数不应该是3个不同的函数sticker('medium')
,因此该函数会更改状态,而不是在其旁边运行另一个函数。不幸的是,此函数没有帮助。下面是代码,如果您查看控制台,您将看到在将表单320调整为640后,正在运行Stick320和Stick950函数,如果将窗口调整为1230px,您将看到所有三个函数都在运行。但我需要停止与当前窗口大小无关的函数