javascript - 无论旋转如何获取元素尺寸

标签 javascript jquery html

假设我们有一个 50x100 的 div,如果我们将它旋转 45 度,jquery 会返回不同的宽度和高度值。如果我们再次将它旋转 45 度,jquery 将返回宽度 100 和高度 50。

我正在寻找一种方法来获取实际宽度和高度,而不管旋转如何。

注意:实际上我的元素的父元素有旋转,我不想参与它的旋转。我不愿意使用带有 jquery 宽度高度的 sin/cos 来获取原始尺寸。

最佳答案

由于 jQuery 是一个库,它使用了一些不同的组合(getBoundingClientRectgetComputedStyleclientWidth/clientHeightoffsetWidth/offsetHeight(以及 node.style))。

因此,在不知道您使用的 jQuery 版本的情况下,很难说出它的内部功能。

至少 getBoundingClientRect 为您提供了已转换 元素的实际尺寸。

这是一个小测试用例:https://jsfiddle.net/bxe1ve9q

我敢打赌,使用 clientWidth/clientHeightoffsetWidth/offsetHeight 会给您正确的值。


附录:由于您可能不再使用 jQuery(它非常擅长解决浏览器错误),因此您应该留意那些打嗝™。以下是一些可供查看的资源:

关于javascript - 无论旋转如何获取元素尺寸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40809153/

相关文章:

javascript - 在 HTML 中高效地显示大列表

javascript - 文件上传弹窗

html - anchor 链接跳得太远

html - 一些 HTML5 标签有什么用?

jquery - 为没有子(子)菜单的标题菜单添加不透明度

javascript - JS 函数创建并插入数组 - 只有第一个元素是 NaN

javascript - 如何在javascript中显示api错误

javascript - 如何在没有任何提交按钮的情况下动态显示基于从下拉列表中选择的年份的记录

javascript - 如何从 JSON 中提取文本并填充文本字段?

javascript - jQuery:按文本或 HTML5 数据属性过滤表格