0

我需要以 50px 的步长在屏幕上平移一个元素。假设每次单击时,元素都会向右移动 50px。

如何更正以下代码?

http://jsfiddle.net/vujMV/13/

这里它每次跳50px,然后平移50px,每次点击总共100px。我需要对运动进行硬件加速(因为它要部署在移动平台上),因此我需要使用 translate()。

4

1 回答 1

0

只需注释掉最后两行。这些是导致初始 50px 跳跃的原因:

//left += 50;
//move.style.left = left+"px";

编辑
要使其在每次单击时都能正常工作,您需要更改相对于当前属性的 translate3d 属性,而不是.offset属性,因为一旦注释掉上述行,该属性就不再更改。

这是一个工作示例:http: //jsfiddle.net/vujMV/16/

于 2012-01-15T12:54:27.627 回答