一個高效能js動畫庫velocity.js簡介
一、為什麼是velocity不是jquery
時下,如何快速製作js動效,許多人可能會首先想到使用jquery。jquery的就是如此流行。使用jquery製作的各種動效在網路上也非常豐富。jquery的優點不言而喻,簡單易用,高效開發。但要知道jquery動畫效能並不是最優的。因為jquery想要實現的目標太多,動畫效能上就不可避免做出妥協。因此要製作高效能js動畫,可能不得不放棄jquery,轉而使用原生js製作動畫。那有沒有一種js高效能動效庫,既像jquery一樣簡單易用,動畫又高效能?這就是velocity.js動畫庫了。
二、velocity的優點
1、Velocity 是一個簡單易用、高效能、功能豐富的輕量級JS動畫庫。它能和 jQuery 完美協作,並和$.animate()有相同的 API,但它不依賴 jQuery,可單獨使用。 Velocity 不僅包含了 $.animate() 的全部功能, 還擁有:顏色動畫、轉換動畫(transforms)、迴圈、 緩動、SVG 動畫、和 滾動動畫 等特色功能。2.也有幾十種類似animate.css的預定義動畫api3.支援自定義動效,拼裝佇列動效等等4.動畫回撥 比如 Begin & Complete & Progress 回撥函式
三、velocity的使用
1、velocity的引入
可以使用標籤引入
< src="../lib/velocity.min.js" data-ke-src="../lib/velocity.min.js">
也可以透過npm安裝
npm install velocity-animate
2、Velocity語法
Velocity使用和jquery相同的語法。換句話說,如果你熟悉jquery的animate()函式,那麼你只需把animate()語法套用在velocity()就行。
Jquery:
$(選擇器).animate();
Velocity:
$(選擇器).velocity();
Velocity引數用法
$element.velocity({
width: "500px", // 動畫屬性 寬度到 "500px" 的動畫
property2: value2 // 屬性示例
}, {
/* Velocity 動畫配置項的預設值 */
duration: 400, // 動畫執行時間
easing: "swing", // 緩動效果
queue: "", // 佇列
begin: undefined, // 動畫開始時的回撥函式
progress: undefined, // 動畫執行中的回撥函式(該函式會隨著動畫執行被不斷觸發)
complete: undefined, // 動畫結束時的回撥函式
display: undefined, // 動畫結束時設定元素的 css display 屬性
visibility: undefined, // 動畫結束時設定元素的 css visibility 屬性
loop: false, // 迴圈
delay: false, // 延遲
mobileHA: true // 移動端硬體加速(預設開啟)
});
簡單點就是:
$element.velocity(
{css引數列表},
{動畫配置項}
)
其他寫法:
$element.velocity({css引數列表 }, dalay延遲,easing緩動效果, function回撥函式);
示例:
$element.velocity({ width: "50px" }, 1000);
$element.velocity({ width: "50px" }, 1000, "swing");
$element.velocity({ width: "50px" }, "swing");
$element.velocity({ width: "50px" }, 1000, function() {});
這裡特別講解一個非常有趣的用法,就是動畫效果原路返回。如果我們做了一個比較炫酷或者比較複雜的動畫效果,然後需要製作動畫原路返回的效果,只需如此:
$element.velocity("reverse");
Velocity作者做出的說明是,velocity會自動記錄下動畫執行的路徑、時間以及效果等,然後會按動畫原效果返回。也就是說,不管你動畫效果設計得再複雜,如果要動畫原路返回,只需一句程式碼,是不是很酷?繼續關注,更多技術文。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31544234/viewspace-2157044/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- vue中使用Velocity.js動畫VueJS動畫
- JQuery動畫外掛Velocity.js釋出:更快的動畫切換速度jQuery動畫JS
- 一起動手實現一個js幀動畫庫JS動畫
- UIView動畫簡介UIView動畫
- CSS動畫簡介CSS動畫
- JavaScript 模板引擎 Velocity.jsJavaScriptJS
- 一個簡單的載入動畫(一)動畫
- JSON簡介(java中的json庫使用)JSONJava
- 一個簡單的載入動畫(二)動畫
- sChart.js:一個小型簡單的圖表庫JS
- Vue.js入門 (一) - 簡介Vue.js
- AngularJS 1.x系列:AngularJS簡介及第一個應用(2)AngularJS
- jQuery+CSS3搞一個動畫簡歷jQueryCSSS3動畫
- 封裝一個簡單的動畫函式封裝動畫函式
- 簡介JSXJS
- CSS in JS 簡介CSSJS
- css3 動畫(三)animation 簡介CSSS3動畫
- jquery動畫佇列簡單介紹jQuery動畫佇列
- 簡單介紹一下 JSONJSON
- 高效能動畫!HTML5 Canvas JavaScript框架KineticJS動畫HTMLCanvasJavaScript框架JS
- 一個簡單的構建React元件動畫方案React元件動畫
- 分享一個簡單的畫刷動畫效果:?️BrushEffect動畫
- 一個簡單的CSS圓形縮放動畫CSS動畫
- 做一個簡單好看的ViewPager翻轉動畫Viewpager動畫
- 分散式高效能狀態與原子運算元據庫slock簡介分散式
- pythonPIL影像處理庫簡介(一)Python
- React.js 一次動畫效能的簡單優化ReactJS動畫優化
- 一個高效能的 Vue 高德地圖元件庫Vue地圖元件
- Napa.js 簡介JS
- Backbone.js簡介JS
- Node.js簡介Node.js
- VBS與JS簡介JS
- RxJS 系列之一 – Functional Programming 簡介JSFunction
- RxJS 系列之一 - Functional Programming 簡介JSFunction
- 如何判斷一個DOM元素正在動畫,一個CSS“阻塞”JS的例子動畫CSSJS
- 從0到1,開發一個動畫庫(1)動畫
- 從0到1,開發一個動畫庫(2)動畫
- 一個簡單多庫配置