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