GetBoundingClientRect不在窗口外工作

时间:2014-04-06 13:08:07

标签: javascript css coordinates getcomputedstyle getboundingclientrect

我正在制作一个应该测量帖子中距离的脚本。例如,如果我有三个帖子:

  • 发布1:两行文字,然后是我想看的图片。
  • 帖子2:只是我想看到的图像。
  • 帖子3:我想看的图像后跟两行。

我想要这个的原因,是因为我认为Tumblr在他们的描述中显示了太多的废话。我正在制作一个镀铬扩展,它会裁掉图像周围的所有废话,这样你就不必滚动了。在每个帖子上都会有一个按钮来查看整个帖子。

截至今天,它很棒!使用getBoundingClientRect,我可以从窗口获得顶部,左侧,底部和右侧偏移。只有一个问题。我无法立即对页面上的所有帖子进行此操作,因为如果帖子距文档的可见部分700px或更远,您在浏览器中查看的部分,GBCR提供的所有值都将是0

这些值无效,可能为零,因为帖子未在屏幕上呈现。如果我滚动,我可以让我的扩展尝试获取尺寸,以便当一个帖子进入窗口的可见部分时,它会被处理。但这不是我的偏好。这意味着每次用户滚动时我的JS函数都必须触发,这是不好的做法。我更喜欢在加载dom时启动我的函数,所以如果添加新帖子,将触发函数。


我的问题如下:当帖子未在屏幕上呈现时,是否有一种解决方法可确保GBCR功能正常工作。或者有没有办法让getComputedStyle获得元素的坐标(不经过所有元素)?

0 个答案:

没有答案