我需要以 50 像素为单位在屏幕上平移一个元素。假设每次点击,元素都会向右移动 50 像素。
如何更正以下代码?
这里每次跳转50px,然后平移50px,每次点击总共100px。我需要对运动进行硬件加速(因为它要部署在移动平台上),因此我需要使用 translate()。
最佳答案
只需注释掉最后两行。这些是导致初始 50px 跳跃的原因:
//left += 50;
//move.style.left = left+"px";
编辑
要使其在您每次单击时都能正常工作,您需要更改相对于当前属性的 translate3d 属性,而不是 .offset
属性,因为一旦您注释掉上述行,该属性就不再更改。
这是一个工作示例:http://jsfiddle.net/vujMV/16/
关于javascript - CSS3 - 分步在屏幕上翻译元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8869392/