假設我在頁面上有10個元素。通過指定應用css規則的時間點來加速JavaScript動畫
在當前時刻,我遍歷他們在一個循環中不斷變化的寬度和位置:
el[i].style.width = ....
el[i].style.left = ....
我想知道如果,如果我告訴瀏覽器只能重新呈現所有元素的動畫可以跑得更快一次,循環完成後
假設我在頁面上有10個元素。通過指定應用css規則的時間點來加速JavaScript動畫
在當前時刻,我遍歷他們在一個循環中不斷變化的寬度和位置:
el[i].style.width = ....
el[i].style.left = ....
我想知道如果,如果我告訴瀏覽器只能重新呈現所有元素的動畫可以跑得更快一次,循環完成後
使用CSS3更快,你w生病編碼少得多,看看這個Jsbin,我只是做了兩個例子,一個用transition(.anima2),另一個用animation(.anima)。用JS你只需要申請和刪除類。
被我調查(不完全跨瀏覽器的,行爲不同而變化,這需要測試ABD標杆繁重的工作):
一)
B)CSS translate3d
和其他新的CSS3代替的left
爲GPU優化
回來後,我會告訴結果
是CSS3或jQuery的選擇嗎? – Shmiddty
預定義的CSS3樣式不是一個選項,因爲我正在使用移動元素編寫遊戲 – Dan
您可以使用過渡......'transition:all 1s linear;'因此,當您更改元素的任何屬性時,它將轉換爲它的新價值。如果需要,你可以爲每個你關心的屬性指定單獨的轉換:'transition:width 1s linear,left .5s ease-in-out;'etc – Shmiddty