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.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 に答える