我需要在window.resize()上更改一些变量值。
我已经发现你需要在.resize函数范围之外声明变量,然后尝试在函数.resize范围内更改它们的值。但这似乎不起作用。
var windowHeight = $(window).height();
var goPanel0, goPanel1, goPanel2, goPanel3;
goPanel0 = 0;
goPanel1 = windowHeight;
goPanel2 = windowHeight * 2;
goPanel3 = windowHeight * 3;
$(window).resize(function(){
goPanel1 = windowHeight;
goPanel2 = windowHeight * 2;
goPanel3 = windowHeight * 3;
//alert(goPanel3);
});
THX,
答案 0 :(得分:4)
$(window).resize(function(){
windowHeight = $(window).height(); // add this line
goPanel1 = windowHeight;
goPanel2 = windowHeight * 2;
goPanel3 = windowHeight * 3;
//alert(goPanel3);
});
变量windowHeight
的值已从.resize
范围中分配,而.resize
中的值具有先前值,但应具有新值
答案 1 :(得分:2)
只是在调整大小后你没有得到新的窗口高度,所以它会一遍又一遍地给你相同的旧值,你必须从事件的函数内部重新赋值(获取值)以获得新的一个并使用它。
$(window).resize(function(){
windowHeight = $(window).height(); // get new height after change
goPanel1 = windowHeight;
goPanel2 = windowHeight * 2;
goPanel3 = windowHeight * 3;
});