javascript - translate3d后获取div位置

标签 javascript html position translate3d

在 Javascript 中,当我通过 translate3d 方法使用 gpu 移动元素时,元素样式左位置根本没有改变。由于 CPU 甚至不知道发生了任何运动。

在通过 translate3d 移动元素后,如何跟踪元素的新位置?

最佳答案

使用Element.getBoundingClientRect()获取元素坐标

这只是一个从 CSS3 翻译(动画)元素中检索 .left Rect 属性的小示例:

const box = document.getElementById('box');
const printer = document.getElementById('printer');
const printBoxRectLeft = () => {
  printer.textContent = box.getBoundingClientRect().left;
  requestAnimationFrame(printBoxRectLeft);
};

printBoxRectLeft();
#box{
  width:30px; height:30px; background:red;
  animation: animX 3s infinite alternate;
}
@keyframes animX { to{ transform:translateX(300px); }}
<div id="printer"></div>
<div id="box"></div>

关于javascript - translate3d后获取div位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28295670/

相关文章:

javascript - 如何使用 javascript 即时创建和下载 XML 文件?

javascript - 使用 SessionScope 变量选择 DynamicContent

javascript - Spring maven ,访问 CSS/JS 文件

javascript - 尝试在一个字段中只允许 4 个数字

javascript - 如何在 jquery 2.1 中使用 .toggle

javascript复选框启用/禁用

ios - 在另外两个标签之间垂直居中 UILabel

css - 如何防止div改变位置

html - css div定位和溢出问题,很难理解

javascript - 使用 Ctrl 按钮按下 keydown