如何找到元素底部的像素值。例如。 #posts
div。我想创建一个无限卷轴。这样我就可以检测到用户是否已经到达#posts的底部附近/我想要加载新帖子,如果是这样的话。
更新
我猜1选项是使用
$("#header").height() + $("#posts").height()
但我想让代码通用。所以也许我可以将此功能转换为插件。上面的代码不会考虑,填充,边距,#posts
以上的任何元素等。
答案 0 :(得分:6)
var div = $('#posts');
var bottom = div.offset().top + div.height();
答案 1 :(得分:3)
如果您在<div>
内有#posts
的实际内容,则可以执行以下操作:
$("#posts").scroll(function() {
if($(this).scrollTop() == ($("#posts_content").outerHeight() - $(this).height())) {
alert("Reached Bottom!");
}
});
You can try a demo here。在.scroll()
事件发生后,我们会检查#pages
div的.scrollTop()
以查看其向下滚动的距离。如果这等于内部div的.outerHeight()
减去#pages
的{{3}}(因为.height()
给出顶部位置),那么我们抛出一个警报。
你当然可以在这里做任何你需要的加载,如果你想在最底层之前加载,只需将==
更改为>=
并打一个{ {1}}或右侧的东西从底部加载40像素。 .scrollTop()
:
-40