在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有以前的值,但是应该有新的值