jQuery DIV滚动页面滚动

时间:2013-02-22 15:18:26

标签: jquery css scroll

$(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滚动的位置。我需要它在页脚之前停止,你有滚动图标

1 个答案:

答案 0 :(得分: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的上限。