1

だから私は現在、レスポンシブレイアウトの1ページサイトに取り組んでいます. 小さな画面ではアニメーション スクロール プラグインを使用してコンテンツ div 間を移動していますが、大きな画面ではプラグインを使用してこれらの div の表示を切り替えるだけです。

私が抱えている問題は、ページが読み込まれた後にウィンドウのサイズが変更された場合にスクリプトを変更する必要があることです。$(window).resize でうまくいくと思いましたが、うまくいかないようで、適切なスクリプトを実行するのではなく、最初にロードされたスクリプトを使い続けています。.anchorAnimate と .anchorTog は私が使用しているプラ​​グインですが、ここでは問題ではないと思います。必要に応じて投稿できます。

コード:

$(document).ready(function() {

    var w = $(window).width();

    if(w <= 767) {
        $('a.anchorLink').anchorAnimate();
    }
    if(w >= 768) {
        $('a.anchorLink').anchorTog();
    }

    $(window).resize(function(){
        if(w <= 767) {
            $('a.anchorLink').anchorAnimate();
        }
        if(w >= 768) {
            $('a.anchorLink').anchorTog();
        }
    });
});
4

2 に答える 2

1

あなたのコードでは、変数 "w" はサイズ変更関数の範囲外です。「w」は、ドキュメントが準備完了状態に達したときのウィンドウ幅になります。これを修正するには、サイズ変更関数で変数を再宣言して、サイズ変更を取得するたびに幅を確認します。

$(window).resize(function(){
    var w = $(window).width();
    if(w <= 767) {
        $('a.anchorLink').anchorAnimate();
    }
    if(w >= 768) {
        $('a.anchorLink').anchorTog();
    }
});
于 2013-09-25T17:31:32.943 に答える