动作流畅的固定版本:http://jsfiddle.net/66MBH/6/
我一直在寻找各处,但一直无法找到任何可以帮助我的东西,
首先,
Jquery代码。(不记得我在哪里得到它)
$(document).ready(function () {
var top = $('#socialbookmarks2').offset().top - parseFloat($('#socialbookmarks2').css('marginTop').replace(/auto/, 0));
$(window).scroll(function (event) {
// what the y position of the scroll is
var y = $(this).scrollTop();
if (y >= top) {
$('#socialbookmarks2').addClass('fixed');
} else {
$('#socialbookmarks2').removeClass('fixed');
}
});
});
快速;当达到容器的/ div时,如何进行此停止?,底部边界或什么?
Expained ;
我在自定义的“博客”网站上使用代码,类似于wordpress博客,社交书签应该从帖子的顶部到底部跟随每个博客帖子,然后当用户拥有时,重新开始下一个帖子滚动到它,
现在,如果我激活它,它会在第一个书签容器(#socialbookmarks2)上运行,然后一直到页面底部,而不是在帖子的末尾停止。
每页有10个帖子
希望它可以理解..
如果你看9gag.com,我发现了我想要它做的事情,如果你看到他们的评级和twitter / facebook分享框。它跟在帖子后面,然后停在它的底部。
谢谢!
答案 0 :(得分:1)
最终你的答案是在你的病情中添加另一个陈述:
if (y >= top && y < bottom) {
$('#socialbookmarks2').addClass('fixed');
} else {
$('#socialbookmarks2').removeClass('fixed');
}
现在,底部是什么?顶部+元素的高度。因为我不知道那个元素是什么,所以我只能给出一个粗略的例子:
<div class="blog-item">
<div class="social-bookmarks"></div>
<h1>blog title</h1>
<p>
content here
</p>
</div>
您需要考虑社交书签的父级。另外,听众必须上课而不是身份。
var bottom = y + $(this).parent().height();
假设这是每个$('。social-bookmarks')评估的循环。
有很多方法可以解决这个问题。我只是指出一种方法来实现你作为理论的效果,而不是一个工作的例子。为此,您需要尝试一下,如果需要我可以更新。