问题标签 [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.
reactjs - 如何获取元素 React 的位置 | Redux (.getBoundingClientRect() + .getWrappedInstance())
我正在尝试查找使用 React 呈现的组件的位置。我正在使用redux,所以我不得不将connect函数修改为:
现在,当我调用时,我得到了一个组件:
所以我可以得到组件,但是我不能得到boundingClientRect。
有什么我忽略的吗?
请帮忙:)
javascript - getBoundingClientRect 无法正常工作
我正在使用 react draggable 制作一个简单的拖放功能,但同时在拖动时我想获得上、左、右、下轴。我正在使用 getBoundingClientRect 但是这个函数在拖动元素时发出相同的值。
请帮忙。谢谢。
jquery - getBoundingClientRect() 替代
我正在使用 document.body.getBoundingClientRect().right 来查找顶部导航中的所有元素都看不见,以便隐藏它们并将它们放在“更多”下拉列表下。但该功能似乎在 safari 中不起作用。该功能是否有任何替代方法,或者有什么方法可以让它在 Safari 中修复?
javascript - 为什么 getBoundingClientRect 在 dom 元素上未定义?
这个问题似乎只发生在 Firefox 上:
我在页面中包含的有效 dom 元素上出现错误,提示“getBoundingClientRect 不是函数”:
结果:
flashElement.nodeType 为 1
flashElement.nodeName 是 OBJECT
但
flashElement.getBoundingClientRect未定义。
然而
flashElement.getClientRects是一个函数。
是否存在未定义getBoundingClientRect的已知原因?
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
在其结果中都有一个负值。
javascript - ClientRect 突然没有定义
在过去的一周左右,我用来if (foo instanceof ClientRect)
捕捉特定用户交互的 UI 原型项目停止工作并开始抛出Uncaught ReferenceError: ClientRect is not defined
. 我的本地版本停止工作,但自 4 月以来尚未更新且运行良好的在线版本也是如此。
不知何故,该项目仅适用于 Opera 45.0 版。将其更新到 48.0 后,它也停止了在 Opera 上的工作。
是否发生了一些可能导致这种行为的更新?
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 替换,一切正常:
javascript - 转换后 getBoundingClientRect 在 body 上没有按预期工作
我需要div
在现有的div
. 现有div
的包含在具有 CSS 转换属性集的 HTML 文档的正文中。我需要div
在文档渲染和转换后放置新的。
当我调用我需要隐藏的东西(附加小提琴中的红色方块)时,我得到了错误的顶部/左侧getBoundingClientRect()
。div
我将蓝色方块的顶部/左侧设置为输出,getBoundingClientRect()
它们不重叠。
如何解决?
html - 木偶戏的 C# API
是否有任何用于使用 Puppeteer 的 C# API?
用例:需要获取 HTML 的坐标/边界框。本来可以用 Selenium + PhantomJS,但是考虑到 PhantomJS 的不稳定问题,我们想试试 Puppeteer。
有人可以帮忙吗?