问题标签 [getboundingclientrect]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1641 浏览

javascript - getBoundingClientRect() 对象属性不能被复制

为什么?

输出(测试结果)

请参阅PasteBin

MDN 文档

  1. Element.getBoundingClientRect()
  2. DOMRect
0 投票
1 回答
9370 浏览

reactjs - 如何获取元素 React 的位置 | Redux (.getBoundingClientRect() + .getWrappedInstance())

我正在尝试查找使用 React 呈现的组件的位置。我正在使用redux,所以我不得不将connect函数修改为:

现在,当我调用时,我得到了一个组件:

所以我可以得到组件,但是我不能得到boundingClientRect。

有什么我忽略的吗?

请帮忙:)

0 投票
0 回答
1492 浏览

javascript - getBoundingClientRect 无法正常工作

我正在使用 react draggable 制作一个简单的拖放功能,但同时在拖动时我想获得上、左、右、下轴。我正在使用 getBoundingClientRect 但是这个函数在拖动元素时发出相同的值。

请帮忙。谢谢。

0 投票
2 回答
5604 浏览

jquery - getBoundingClientRect() 替代

我正在使用 document.body.getBoundingClientRect().right 来查找顶部导航中的所有元素都看不见,以便隐藏它们并将它们放在“更多”下拉列表下。但该功能似乎在 safari 中不起作用。该功能是否有任何替代方法,或者有什么方法可以让它在 Safari 中修复?

0 投票
0 回答
524 浏览

javascript - 为什么 getBoundingClientRect 在 dom 元素上未定义?

这个问题似乎只发生在 Firefox 上:

我在页面中包含的有效 dom 元素上出现错误,提示“getBoundingClientRect 不是函数”:

结果:

flashElement.nodeType 为 1

flashElement.nodeName 是 OBJECT

flashElement.getBoundingClientRect未定义。

然而

flashElement.getClientRects是一个函数。

是否存在未定义getBoundingClientRect的已知原因?

0 投票
1 回答
823 浏览

javascript - 如果第一个孩子有任何负值,getBoundingClientRect() 为所有孩子返回相同的值

上下文

我正在构建一个无限水平的图像滚动:

在此处了解有关 Stylus 的更多信息:stylus-lang.com


然后我有一些jQuery/JS来处理图像在屏幕外时的克隆和附加:

所以scrollUpdate()循环遍历每个.thumb元素并检查它是否在屏幕上可见。如果不是 ( bounding.right < 0),那么它会被克隆并附加到.infinite-thumbs元素的末尾。



问题

我遇到的问题是,一旦其中一个.thumb元素返回负值,bounding.right 所有.thumb元素都会返回完全相同的一组值bounding

所以当一切都可见时,我在控制台中得到了这个:

但是一旦第一个子元素 ( .thumb-one) 获得负值bounding.right,我就会在控制台中得到这个:

是什么赋予了?为什么它们会bounding仅仅因为其中一个不在屏幕上而返回具有完全相同值的对象?

有人知道这里发生了什么吗?



笔记:

两者$.fn.offset()$.fn.position()行为方式与 getBoundingClientRect();相同 它们返回相同的一组值,每 .thumb一次.thumb-one在其结果中都有一个负值。

0 投票
1 回答
1439 浏览

javascript - ClientRect 突然没有定义

在过去的一周左右,我用来if (foo instanceof ClientRect)捕捉特定用户交互的 UI 原型项目停止工作并开始抛出Uncaught ReferenceError: ClientRect is not defined. 我的本地版本停止工作,但自 4 月以来尚未更新且运行良好的在线版本也是如此。

不知何故,该项目仅适用于 Opera 45.0 版。将其更新到 48.0 后,它也停止了在 Opera 上的工作。

是否发生了一些可能导致这种行为的更新?

0 投票
1 回答
1980 浏览

javascript - 为什么 Range.getBoundingClientRect() 为 textarea 内的范围返回 0?

我有<textarea>元素并在其中创建范围:

  • 通过创建新范围document.createRange()
  • 获取<textarea>via的唯一子节点textarea.childNodes[0]
  • range.setStart通过和设置范围开始和范围结束range.setEnd

然后我打电话range.getBoundingClientRect()

但我收到ClientRect所有零字段的对象,即left = top = width = height = 0. 为什么这些字段为零?


请注意,如果我<textarea>用通常的 div 替换,一切正常:

0 投票
2 回答
6061 浏览

javascript - 转换后 getBoundingClientRect 在 body 上没有按预期工作

我需要div在现有的div. 现有div的包含在具有 CSS 转换属性集的 HTML 文档的正文中。我需要div在文档渲染和转换后放置新的。

当我调用我需要隐藏的东西(附加小提琴中的红色方块)时,我得到了错误的顶部/左侧getBoundingClientRect()div我将蓝色方块的顶部/左侧设置为输出,getBoundingClientRect()它们不重叠。

如何解决?

0 投票
2 回答
12545 浏览

html - 木偶戏的 C# API

是否有任何用于使用 Puppeteer 的 C# API?

用例:需要获取 HTML 的坐标/边界框。本来可以用 Selenium + PhantomJS,但是考虑到 PhantomJS 的不稳定问题,我们想试试 Puppeteer。

有人可以帮忙吗?