1
$(document).ready(function () {

$(function () {
    var offset = $(".control.Home .rightCol").offset();
    var topPadding = 15;
    $(window).scroll(function () {
        if ($(window).scrollTop() > offset.top) {
            $(".control.Home .rightCol").stop().animate({
                marginTop: $(window).scrollTop() - offset.top + topPadding
            });
        } else {
            $(".control.Home .rightCol").stop().animate({
                marginTop: 0
            });
        };
    });
});
});

当我向下滚动页面时,右侧的 div 会继续向下滚动。它在本地主机上,所以目前无法向您显示链接。我如何让 div 在某个点停止到左侧 div 停止的位置?

网站:http: //goo.gl/OSiH5

链接已添加到您可以看到 div 滚动的位置。我需要它在您有滚动图标的页脚之前停止

4

1 回答 1

2

我在我的一个站点中使用了此代码:

var scroll = 0;
var marginTop = 10;
$(document).ready(function(){  
    $(window).scroll(function () {
        marginTop = ($(document).scrollTop() - scroll) + marginTop;
        scroll = $(document).scrollTop();

        $("#left").animate({"marginTop": marginTop+"px"}, {duration:500,queue:false} );
    });  
});

#left是我在滚动后向上/向下移动的 div。

你可以现场观看:realtimecoding.net

编辑: 如果你需要它停止滚动,比如说,660px,你可以添加一个验证。它应该看起来像:

var scroll = 0;
var marginTop = 10;
$(document).ready(function(){  
    $(window).scroll(function () {
        marginTop = ($(document).scrollTop() - scroll) + marginTop;
        scroll = $(document).scrollTop();

        if (marginTop<660) {
            $("#left").animate({"marginTop": marginTop+"px"}, {duration:500,queue:false} );
        }
    });  
});

这样它就永远不会超过 660px 边距顶部。

于 2013-02-22T16:07:16.097 回答