0

ページの読み込み時に JavaScript 関数呼び出しを設定しています。

$('.myMenu').affix({
        offset: {
            top: value
        }
    });

ユーザーとのやり取りの後、value変更が加えられ、同時に上記のコードaffix()が新しいoffset値で処理されることを期待して再度呼び出されますが、そうではなく、valueページの読み込み時にあった初期値でまだ処理されています。

$(window).resize(function() {
        $('.myMenu').affix({
            offset: {
                top: value
            }
        });
    });

$(document).ready(function() {
        $('.myMenu').affix({
            offset: {
                top: value
            }
        });
    });

なぜそれが起こっているのですか?誰かが説明できるかもしれませんか?ウィンドウのサイズ変更でトリガーするウィンドウのサイズ変更は、alert関数を使用して確認します

私はaffix()それをTwitterのブートストラップで使用していますが、http: //github.com/davist11/jQuery-One-Page-Navプラグイン3.0でも同じ問題があります

$('.mainNav').onePageNav({
        currentClass: 'active',
        scrollOffset: offsetValue
    });

onePageNav()の場合、上記のように画面のサイズ変更offsetValueを行うと、新しいものが適用されません。onePageNav()affix()

4

1 に答える 1

1

ほとんどのプラグインは、要素への最初のアタッチ (初期設定を含む) と、その後のそれらの設定への変更に対して別々の方法を提供します。

後者の正確な方法は、プラグインの作成者がどのようにコードを記述したか、および設定の変更が認識されるかどうかによって異なります。彼が jQuery UI 規則に従った場合、次のようになります。

$('.myMenu').affix('options', { top: value });

より良い回答を得るには、使用している特定の「接辞」プラグインへのリンクを提供するか、そのドキュメントを確認してください。

于 2013-12-24T22:57:53.970 に答える