【问题标题】:Getting the correct position of div even after scroll即使在滚动后也能获得 div 的正确位置
【发布时间】:2014-02-09 10:33:03
【问题描述】:

我的网页上有一个相同的div,一个在另一个下方。我想将 div 的正确位置定位到某些消息(绝对定位并稍后淡出)。

所以我尝试了这个

$('.divs_article').click(function() {
    var left=$(this).offset().left;
    var top=$(this).offset().right;
});

但是当我向下滚动时,这对于位于页面下方的div 给出了不正确的结果。

有没有更好的办法?

(PS:我已经试过this。)

【问题讨论】:

  • the correct position”与什么有关?另一个元素?文件.body?视口?
  • 提姆说的。另外,作为 jQuery 的一般规则,有设置var $this = $(this), $offset = $this.offset(); 的习惯。
  • 相对于屏幕,您查看 div 的位置
  • 即与视口有关?如果是这样,getBoundingClientRect() 可能就是您所需要的。

标签: javascript jquery html css


【解决方案1】:

一个小想法对我有用,

这里有一个简单的技巧

$("div_article").offset().top-$(document).scrollTop()

(PS:我是一个愚蠢的问题,希望它对未来的人有所帮助)

【讨论】:

  • IIRC,jQuery 的offset 方法实际上依赖于getBoundingClientRect,如果没有给出参数,则添加页面的滚动量。
猜你喜欢
  • 1970-01-01
  • 2021-01-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-02
相关资源
最近更新 更多