在我的容器有部分/框,但最后一个这些框应该跟随滚动时,其他框都不可见。
所以,当用户向下滚动时,他看到一个正常的边栏,但是当用户已经下降了,边栏终止,但最后一个框开始跟随在屏幕的顶部。我在不同类型的网站上看到过很多。
我的代码在这一刻:
$(window).scroll(function(){ $.each($('.follow-scroll'),function(){ var eloffset = $(this).offset(); var windowpos = $(window).scrollTop(); if(windowpos<eloffset.top) { var finaldestination = 0; } else { var finaldestination = windowpos; } $(this).stop().animate({'top':finaldestination},200); }); });
解决方法
由于这个问题是得到了很多的意见,并在最投票的回答链接的教程似乎离线,我花时间来清理这个脚本。
看到它住在这里:JSFiddle
JavaScript:
(function($) { var element = $('.follow-scroll'),originalY = element.offset().top; // Space between element and top of screen (when scrolling) var topMargin = 20; // Should probably be set in CSS; but here just for emphasis 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);