我需要以50px的步长在屏幕上平移元素。假设每次点击时,元素都会向右移动50px。
如何更正以下代码?
http://jsfiddle.net/vujMV/13/
在这里,它每次跳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/