2011-01-20 45 views
4

在我做的一个HTML5/CSS3演示中,我使用CSS转换主要是为了加速性能。CSS3性能?动画左或translateX

我想知道我的UI - 在目前的JQuery操纵容器Div的LEFT属性基于鼠标的位置,例如,我应该改用transform: translateX(tx)呢?或者如果浏览器支持它,JQuery会自动执行此操作吗?

回答

4

jquery不使用transform:translateX(tx)代替。 你必须这样做manualy。但这是一个很好的做法,因为它实际上要快得多。

http://jsfiddle.net/MZBtr/2/

你可以使用Mondernizr为特征检测,然后决定如何根据结果做。

这里演示它演示: http://jsfiddle.net/zWavD/1/

+0

oh right,所以我会使用`$(“div”).css(“ - webkit-transform”,“translate(45px,0)”)`例如当定位到鼠标时,如果我想动画我也会添加一个转换到CSS。 – davivid 2011-01-20 18:03:21

0

JQuery的动画动画,你把它的属性,它并不试图揣摩属性列表(据我所知)

使用翻译,而不是JQuery的动画的唯一原因是,如果你关心iPad和iPhone上的最佳性能。这些设备上的CSS转换是GPU卸载的(只要您使用translate3d,而不是translate2d),并且很快它们将会在Android等其他移动设备上)以及Chrome和Safari等桌面浏览器。

+0

真棒我忘了这将大大有助于移动设备。 – davivid 2011-01-20 17:39:28