我尽可能多地尝试谷歌搜索,但我似乎无法找到答案。如果可以的话,请给我一些建议。
我刚刚学会了这样包装我的功能(不知道这种技术被称为对不起):
$(document).ready({
myFunc.init();
});
var myFunc = {
init: function() {
// do a number of things
}
};
我需要做的响应是在窗口大于特定大小时启动函数,并在窗口小于一定大小时删除该函数。
在我看来,这应该是一种简单的方法来做这样的事情:
$(document).ready({
myFunc.init();
});
$(window).resize(function(){
if($(window).width() > 700) {
myFunc.init();
} else {
// remove myFunc.init()
}
});
我遇到的最接近的事情是解开/死亡,这是我想在这里使用的吗?如果是这样,我该如何使用它?请帮忙。
答案 0 :(得分:2)
您通常这样做:
var myFunc = {
I_ran : false,
init : function() {
// do a number of things
if (! this.I_ran ) {
this.elem = $('<div>');
this.elem.appendTo('body');
this.I_ran = true; // avoid multiple calls,
// as resize fires continously
}
},
destroy: function() {
if (this.elem.length) this.elem.remove();
this.I_ran = false;
}
}
$(document).ready(function() {
$(window).on('resize', function() {
if ($(this).width() > 700) {
myFunc.init();
}else{
myFunc.destroy();
}
}).trigger('resize');
});
答案 1 :(得分:0)
我认为您使用错误的{{1>} document.ready 应该是这样的,
syntax
此外,如果您取消绑定function test()
{
if($(window).width() > 700) {
myFunc.init();
}
$(document).ready(function(){
test();
$(window).resize(function(){
test();
});
});
function
next time
,initialize again
,if condition
是正确的,则无需取消绑定 {{1}}在这里使用。