您好我发现了一个很好的调整大小超时函数,可以在短暂超时后激活窗口调整大小时所选择的函数。
这是:
var animationsResize;
var anotherVariable;
window.onresize = function(){
clearTimeout(animationsResize);
animationsResize = setTimeout(checkWidthAnimations, 500);
clearTimeout(anotherVariable);
anotherVariable = setTimeout(anotherFunction, 500);
};
当用户在500毫秒后停止调整窗口大小时,这将运行我的自定义函数checkWidthAnimations
和anotherFunction
。
我上面所做的是为我工作,但这里是我遇到问题的地方。当我在窗口加载函数中包装另一个函数然后创建一个这样的实例时,它不起作用。这是我需要修复的代码。
var animationsResize;
var anotherVariable;
var windowLoadVariable;
window.onresize = function(){
clearTimeout(animationsResize);
animationsResize = setTimeout(checkWidthAnimations, 500);
clearTimeout(anotherVariable);
anotherVariable = setTimeout(anotherFunction, 500);
clearTimeout(windowLoadVariable);
windowLoadVariable = setTimeout(windowLoadFunction, 500);
};
jQuery(window).on('load', function() {
function windowLoadFunction() {
//my function
}
});
似乎window.onresize函数无法读取我的windowLoadFunction
是否有人有解决方案可以将我的windowLoadFunction
添加到调整大小功能?
我尝试将另一个resize函数实例添加到窗口加载函数中,如下所示:
jQuery(window).on('load', function() {
function windowLoadFunction() {
//my function
}
var windowLoadVariable;
window.onresize = function(){
clearTimeout(animationsResize);
windowLoadVariable = setTimeout(checkWidthAnimations, 500);
});
});
这使得checkWidthAnimations
工作,但随后打破了另外两个函数checkWidthAnimations
和anotherFunction
。
任何人都知道如何让所有人一起工作?
谢谢!
答案 0 :(得分:1)
这取决于你在窗口加载事件的回调中定义windowLoadFunction
的原因...在该范围内,实际上,它无法从外部代码到达。您是否可以在窗口加载回调之外定义函数,然后在窗口加载后调用它?
var animationsResize;
var anotherVariable;
var windowLoadVariable;
window.onresize = function(){
clearTimeout(animationsResize);
animationsResize = setTimeout(checkWidthAnimations, 500);
clearTimeout(anotherVariable);
anotherVariable = setTimeout(anotherFunction, 500);
clearTimeout(windowLoadVariable);
windowLoadVariable = setTimeout(windowLoadFunction, 500);
};
function windowLoadFunction() {
// your function
}
jQuery(window).on('load', windowLoadFunction);