小編以一個運動的小車為例子,講述了三種實現HTML5動畫的方式,思路清晰,動畫不僅僅是canvas,還有css3和javascript.透過合理的選擇,來實現最優的實現。
PS:由於顯示卡、錄製的幀間隔,以及可能你電腦處理器的原因,播放過程可能有些不太流暢或失真!
以三種方式實現:
(1) canvas元素結合JS
(2) 純粹的CSS3動畫(暫不被所有主流瀏覽器支持,例如IE)
(3) CSS3結合Jquery實作
知道如何使用CSS3動畫比知道如何使用
var dx=5, //目前速率
rate=1, //目前播放速度
程式碼如下:
複製代碼
複製程式碼
畫輪胎:
w.beginPath();
w.moveTo(0,radius); w.lineTo( 0,-radius); w.stroke();
w.closePath(); w.restore(); }
由於原理簡單,且程式碼中作了詳細註釋,這裡就不一一講解!
定義車身與輪胎轉到的動畫(你會看到基本每一個動畫都有四個版本的定義:原生版本/webkit【Chrome|Safari】/ms【為了向後相容IE10】/moz【FireFox 】)
3.JQuery與CSS3
這是一個效果與相容性俱佳的方式(特別對於IE9暫不支援CSS3而言)
HTML程式碼(可以看到與CSS3中的HTML程式碼並沒有不同):
width:1px; height:100 %; /*垂直線*/
left:60px; top:0;
}
代碼如下:
簡單解說:prefix先辨識出目前是哪個定義被採用了(-o?-moz?-webkit?-ms?),然後定義了動畫的起點位置和終點位置。接 著,定義了設定旋轉角度的函數(該函數將在動畫的每一步(step)中執行)。然後,定義了一個動畫,該定義方式導致了無限自循環呼叫!
本文,透過一個簡單的動畫實例,示範了HTML5下,實現動畫的幾種常見方式。