2

私は ScrollToFixed を非常にうまく使用していますが、1 つのキャッチがあります。コンテンツ内に拡張 div があります。div が拡張されている場合、scrollToFixed エンドポイントは新しい高さを考慮して動的に増加しません。

したがって、エンドポイントは、展開する div が閉じられたときに最初に計算されたポイントに固定されたままになります。div は、div が展開された後に修正する必要があるポイントではなく、途中で修正されます。

私が考えることができる最も簡単な修正は、divが展開された後にscrollToFixedに強制的にエンドポイントを再計算させることです.これを行う方法はありますか?

もちろん、その他のソリューションも大歓迎です。

4

4 に答える 4

1

この質問は 2 年前のもので、指定された解決策 (Github ページからのもの) は、ブートストラップの拡張テキスト領域では機能しません。

したがって、制限のプラグイン基本オプションを動的に更新するイベント リスナーを作成しました。

誰かが同じ問題を抱えている場合、ここに修正があります:

このリスナーを scrolltofixed.js の 386 行目の windowScroll リスナーの直後に追加します。

$(document).on("changeLimit",
    function(e) {
        base.options.limit = e.limit;
        checkScroll();
    }
);

このトリガーをアプリ関数に配置して、新しい制限値を設定します (たとえば、動的テキストエリアのサイズが変更された場合)。

$.event.trigger({
    type: "changeLimit",
    limit: $('.page_wizard').offset().top - your offset
});
于 2015-03-11T10:11:45.517 に答える
0

それが機能するかどうかはわかりませんが、拡張が行われたときにこれを行います

jQuery(window).scroll();

divを展開するためにどの関数を使用しますか?プラグインのリンクを教えてもらえますか?

于 2012-07-04T12:15:01.110 に答える
0

@ user338128 は正しい軌道に乗っています。ただし、プラグインは、初期化またはウィンドウのサイズ変更時に「エンドポイント」のみを計算または再計算します。div が拡大または縮小するときは、これを呼び出します。

$(window).resize()

これにより、プラグインはターゲットの固定を解除してから再計算します。

于 2012-07-14T18:40:52.497 に答える