0

我需要在 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);

    });

谢谢,

4

2 回答 2

4
$(window).resize(function(){
        windowHeight = $(window).height(); // add this line
        goPanel1 = windowHeight;
        goPanel2 = windowHeight * 2;
        goPanel3 = windowHeight * 3;

        //alert(goPanel3);

    });  

windowHeight分配给变量的值超出.resize范围,并且 in.resize具有以前的值,但应该具有新值

于 2013-07-03T09:08:28.023 回答
2

只是您在调整大小后没有获得新的窗口高度,因此它会一遍又一遍地为您提供相同的旧值,您必须从事件函数内部重新分配值(获取值)以获取新值并使用它。

$(window).resize(function(){
        windowHeight = $(window).height(); // get new height after change
        goPanel1 = windowHeight;
        goPanel2 = windowHeight * 2;
        goPanel3 = windowHeight * 3;
});
于 2013-07-03T09:14:33.283 回答