用div滚动到某一点

时间:2017-07-17 12:33:06

标签: javascript jquery html css

我有这个代码工作正常,但当我向下滚动时,我的div到达页脚并且不要停止。如何在某个时刻停止滚动页面?

(function($) {
    var element = $('#div'),
        originalY = element.offset().top;

    var topMargin = 20;

    element.css('position', 'relative');

    $(window).on('scroll', function(event) {
        var scrollTop = $(window).scrollTop();

        element.stop(false, false).animate({
            top: scrollTop < originalY
                    ? 0
                    : scrollTop - originalY + topMargin
        }, 300);
    });
})(jQuery);

1 个答案:

答案 0 :(得分:0)

您可以使用多个多元三元运算符来定义要停止的位置。此示例在stopTop 1和stopTop 2之间有2个停止点。如果scrollTop到达stopTop1,那么它将冻结该位置,直到scroll top通过stopTop2: top : scrollTop < originalY ? 0 : scrollTop > stopTop1 && scrollTop < stopTop2 ? stopTop1 : scrollTop - originalY + topMargin

这里是您可以尝试的代码: myjsfiddle