2011-01-20 30 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