在过去的 48 小时里,我一直在尝试解决这个问题,但我真的找不到解决方案。我正在使用https://github.com/bigspotteddog/ScrollToFixed插件,我想限制父 DIV 中的固定位置。我确实在stackoverflow和项目github页面中看到了关于scrollToFixed的所有相关问题,但我没有找到任何解决这个问题的线索。
到目前为止,我有这个:http: //jsfiddle.net/CVMjp/1/
这是基本的 HTML 结构:
<div class="container" id="element_1">
<div class="content">Content</div>
<div class="sticky">Sticky</div>
</div>
这将是我影响页面上每个元素的 jQuery 函数:
$(document).ready(function() {
for (i = 1; i <= $('.sticky').length; i++) {
$('#element_' + i + ' .sticky').scrollToFixed({
marginTop: 20,
zIndex:1,
limit: $('#element_' + (i + 1) + ' .content').offset().top - $('#element_' + i + ' .sticky').height() - 50
});
}
});
我希望 .sticky 框在到达底部时停留在每个 .content 的底部。现在在我的示例中,当它到达 .content DIV 的底部时,它会将其“固定”位置更改为“绝对”,但是正文边距存在问题(因为它具有基于正文的“左侧”位置而不是 .content 中的左侧位置)和其他问题我无法真正找到问题的根源。
此外,在 jsfiddle 示例中, $(document).ready没有问题,但在我的在线站点中,我必须使用$(window).load来获取每个 .content DIV的正确offset().top 。当我使用 document.ready 时,显然所有 .content DIV 都被视为具有相同的高度,尽管它们不同,因为它们内部的内容量不同。
如果我能解决这个问题,我会更新这个问题,但我可以使用一些帮助。
提前致谢!:)