让我们直接开始吧:当用户滚动 x 量时,我希望侧边栏开始移动。现在,一旦侧边栏到达其末端,我希望它保持固定并滚动到页脚。这就是我得到的。
这是我的 Javascript:
$(document).ready(function() {
// Cache selectors for faster performance.
var $window = $(window),
$sidebar = $('#anchor'),
$sidebarAnchor = $('#right');
// Run this on scroll events.
$window.scroll(function() {
var window_top = $window.scrollTop();
var div_top = $sidebarAnchor.offset().top;
if (window_top > div_top) {
// Make the div sticky.
$sidebar.addClass('stick');
$sidebarAnchor.height($sidebar.height());
}
else {
// Unstick the div.
$sidebar.removeClass('stick');
$sidebarAnchor.height(0);
}
});
});
出于某种原因,JSfiddle 没有显示 Javascript 正在做什么,但是如果您在 PC 上运行它,您可以看到。每当用户滚动通过侧边栏的结尾时,侧边栏不会像预期的那样随着它们向下滚动,而是跳转到页面的右侧......
所以我的问题是:如何阻止侧边栏跳到页面的一侧,并将其保持在父 DIV 的限制范围内?
干杯!