我如何找到元素底部的像素值(div)

时间:2010-07-11 10:52:58

标签: jquery

如何找到元素底部的像素值。例如。 #posts div。我想创建一个无限卷轴。这样我就可以检测到用户是否已经到达#posts的底部附近/我想要加载新帖子,如果是这样的话。

更新

我猜1选项是使用

$("#header").height() + $("#posts").height()

但我想让代码通用。所以也许我可以将此功能转换为插件。上面的代码不会考虑,填充,边距,#posts以上的任何元素等。

2 个答案:

答案 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