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