我有这个代码工作正常,但当我向下滚动时,我的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);
答案 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