1

特定のポイントに達した後にのみ、divがスクロールバーをたどるようにこのメソッドを見つけて適応させました。

$.fn.followFrom = function (pos, left_fixed, left_absolute) {
var $this = this,
    $window = $(window);

    $window.scroll(function (e) {
        if ($window.scrollTop() < pos) {
            $this.css({ // no move
                position: 'absolute',
                top: 400,
                left: left_absolute
            });
        } else { // move
            $this.css({
                position: 'fixed',
                top: 220,
                left: left_fixed
            });
        }
    });
};

奇妙なことに (またはそうではない?)、div の右側にコンテンツがある場合にのみ機能します。しかし、それが画面の一番下の要素である場合、スクロールしてその位置に到達すると、スクロール バーがジャンプして一番上に戻ります。これは非常にイライラするユーザー エクスペリエンスです。

コンテキストは検索ページで、左側の移動 div にマップがあり、右側に検索結果があります。そのため、結果を下にスクロールしても、マップが左側に表示されたままになるようにします。

したがって、結果があり、結果の高さがマップの高さよりも大きい場合にのみ機能します。しかし、結果の高さが短くなるとすぐに、私はジャンプします。

ありがとう

4

0 に答える 0