最近有人帮助我解决了这个问题,但我正在寻求更多帮助。我目前有这个工作 -
var windw = this;
$.fn.followTo = function ( elem ) {
var $this = this,
$window = $(windw),
$bumper = $(elem),
bumperPos = $bumper.offset().top,
thisHeight = $this.outerHeight(),
setPosition = function(){
if ($window.scrollTop() > (bumperPos - thisHeight)) {
$this.css({
position: 'absolute',
top: (bumperPos - thisHeight)
});
} else {
$this.css({
position: 'fixed',
top: 0
});
}
};
$window.resize(function()
{
bumperPos = pos.offset().top;
thisHeight = $this.outerHeight();
setPosition();
});
$window.scroll(setPosition);
setPosition();
};
$('#one').followTo('#two');
这里的例子 - jsFiddle
一旦 div 到达另一个 div 的边界,它就会停止滚动 - 效果很好。我现在想弄清楚的是如何让滚动 div 从一个 div 开始,然后向下滚动并在另一个 div 处停止,就像在这个例子中那样。有人有什么想法吗?
这是一个可怕的例子——jsFiddle。蓝色部分应该位于黄色部分下方,直到您到达它。由于我的大脑功能有限,我只是无法弄清楚这是怎么可能的。
非常感谢您的帮助。