这是我的代码:
var ww;
$(window).on('resize load', function() {
ww = $(window).width();
});
console.log(ww);
我希望在调整大小和加载时获得窗口宽度,但变量ww
始终未定义。我无法理解我做错了什么。
答案 0 :(得分:2)
这里发生的事情是,您正在将功能绑定到“调整大小”。并且'加载'窗口事件,尽管您在其中任何一个事件被触发之前尝试记录ww
的值。
知道window.onload
事件仅在整个页面加载完毕并且准备好使用Javascript操作后才会被调用。在触发此事件之前执行任何操作意味着您在加载脚本本身时(当到达脚本标记或文件时)立即执行它,尽管您可能尝试访问的任何元素本身可能尚未加载。
由于这两个事件都没有被触发,ww
没有价值,因为当你执行var ww;
时,你没有将它初始化为任何内容。
您需要做的是在事件处理程序中记录ww
的值,如下所示:
var ww;
$(window).on('resize load', function() {
ww = $(window).width();
console.log(ww);
});
这会导致在页面加载后调用事件处理程序,也会在每次调整页面大小时调用事件处理程序,这意味着ww
将设置为$(window).width();
。
答案 1 :(得分:0)
尝试以下代码
您可以使用 窗口 来访问全局变量。
var ww;
$(window).on('resize load', function() {
window.ww = $(window).width();
console.log(window.ww);
});