是否可以使用CSS将元素转换为常量?例如,我们希望在屏幕上以50像素为单位移动div
。现在,我们使用手动更新翻译值,但这会产生不稳定的影响。
这是代码,其中translate
等于每次调用此行时递增50的值:
$(element).css( '-webkit-transform', 'translate3d( 0, ' + translate + 'px, 0)' );
我们需要在移动设备上进行此项工作,因此我们无法使用jQuery animate
,因为它在移动设备上不够流畅(根据我们的经验)。我们需要翻译一个恒定的数量,因为我们需要跟踪元素的位置,所以我们每X ms调用一次翻译代码。
答案 0 :(得分:1)
我不是经常触发重复的动画,而是设置一个具有适当值的动画,然后在循环中设置detect the current position,而不是尝试在其中进行动画。来自链接问题的This updated example似乎表明它可行。
如果它们比简单的上/下更复杂,您可能想要询问transform
property以获取当前的翻译值。你应该得到一个看起来像这样的值:
matrix(1, 0, 0, 1, 0, 300)
答案 1 :(得分:0)
有几个jQuery插件可以扩展animate方法以使用CSS3,并使动画在移动设备上非常流畅。
我过去曾使用过几个插件,不记得我使用过的插件,但谷歌快速搜索给了我这个插件:
http://ricostacruz.com/jquery.transit/
这将是这样的:
$(element).transition({ y: '+=50' });