在window.resize上更改变量值
我需要在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); });
谢谢,
只是在resize后你没有得到新的窗口高度,所以它会一遍又一遍地给你相同的旧值,你必须从事件的函数内部重新赋值(获取值)以获得新的值并使用它。
$(window).resize(function(){ windowHeight = $(window).height(); // get new height after change goPanel1 = windowHeight; goPanel2 = windowHeight * 2; goPanel3 = windowHeight * 3; });
$(window).resize(function(){ windowHeight = $(window).height(); // add this line goPanel1 = windowHeight; goPanel2 = windowHeight * 2; goPanel3 = windowHeight * 3; //alert(goPanel3); });
变量windowHeight
值是从.resize
范围分配的,而.resize
有以前的值,但是应该有新的值