翻譯:瘋狂的技術宅 原文:blog.bitsrc.io/11-javascri…
當我想要在網上找一個簡潔的 Javascript 動效庫時,總是發現很多“推薦”的庫都是缺乏持續維護的。
經過一番研究,我收集了 11 個最好的庫,你可以用在自己的專案中。另外我還新增了一些有用但是缺少持續維護的庫。
提示:可以用 Bit 來共享你的元件,用它們構建多個專案並與你的團隊同步更改。不要重複造輪子。
這裡有一些 React spinners:
![img](https://i.iter01.com/images/e34383cefc276bb39f9f404de9f9f6df5cc50a82c0a1cea18063ce190eb2392c.gif)
上面的每個元件都可以在站點上找到並測試,可以直接用在自己的專案中。
![img](https://i.iter01.com/images/97388b77585b7510d85518751f9c1b73266f2c217a70463939f73ee0e675816a.gif)
使用純CSS
在深入研究這些庫之前,不要忘記還有純 CSS。為什麼?因為它是標準的,可以提高效能(GPU),能夠提供很好的向後和向前相容性,它可能是建立動態效果的最有效方式。
1. Three.js
![img](https://i.iter01.com/images/c745af91593647a8fc0156cf5474047d7746dd6ed5900183363642f4147a21a9.gif)
得到超過 43K 的star,這個流行的庫是在瀏覽器上建立 3D 動畫的最好的一種方式,它用了 WebGL 。通過提供<canvas>
、<svg>
、CSS3D 和 WebGL 渲染器,該庫可以讓我們跨裝置和瀏覽器建立豐富的互動式體驗。該庫於 2010 年 4 月首次推出,目前仍有近 1000 名參與者開發。
github: github.com/mrdoob/thre…
2. Anime.js
![img](https://i.iter01.com/images/38fe3903b6a1a542c09b30662a6f9dcd1906fe07585d694f1d0f08e377c34743.gif)
超過20K的 star,Anime 是一個 JavaScript 動畫庫,可以處理 CSS 屬性、單個 CSS 轉換、SVG或任何DOM屬性,以及 JavaScript 物件。這個庫允許你連結多個動畫屬性、對多個例項進行同步、建立時間軸等。
github:github.com/juliangarni…
3. Mo.js
![img](https://i.iter01.com/images/d140bb39bc1aa429fb6df40e892804c1df9dc9f7c5e1f1a1742fb70a1db4c17e.gif)
這個庫有 14K 的 star,是一個用於 Web 的動態圖形工具集,有簡單的宣告性 API、跨裝置相容性和超過 1500 個單元測試。你可以在 DOME 或 SVG DOME 周圍移動你建立的圖形或建立唯一的 mo.js 物件。儘管文件有些欠缺,但是示例還是很豐富的,這裡有mo.js 的 CSS 技巧的介紹。
github:github.com/legomushroo…
4. Velocity
![11 個最好的 JavaScript 動態效果庫](https://i.iter01.com/images/2edbecfb877d88be42dbf117d2ac585ebc7c4bbfc538781131ce13b7ae0545f3.jpg)
codepen上的演示:codepen.io/hone/pen/az…
有 15K 的 star,Velocity 是一個快速的 Javascript 動畫引擎,有與jQuery的 $.animate(). 相同的API。它具有顏色動畫、變換、迴圈、漸變、SVG支援和滾動。這是 Velocity 高效能引擎的細分,這是使用該庫的SVG動畫的簡介。
github:github.com/julianshapi…
5. Popmotion
![img](https://i.iter01.com/images/5eb46a14506629bf26cf3d3455cdede2cef57c8400d087082b0a8172dd42e89e.gif)
有 14K 的star,這個庫只有 11kb 的大小。它允許開發人員從動作建立動畫和互動,動作是可以啟動和停止的值的流,並使用CSS、SVG、React、three.js 和任何接受數字作為輸入的 API 建立。
github:github.com/Popmotion/p…
6. Vivus
![img](https://i.iter01.com/images/56e5c982f7104436f63f9cc5cfdd7805679c6f62773b68e12f90380896856abf.gif)
超過10K的star,Vivus 是一個零依賴 JavaScript 類,可以讓你製作 SVG 動畫,讓它們具有能夠被繪製的外觀。有很多動畫模版可以用,也可以建立自定義指令碼來繪製 SVG。不妨親自去 Vivus-instant 看一看例項。
github:github.com/maxwellito/…
7. GreenSock JS
![img](https://i.iter01.com/images/28551c71f0aa826db70b68d3dc4b5b1cbb91bce71d665dd9382e03b1dc33875e.gif)
GSAP 是一個 JavaScript 庫,用於建立高效能、零依賴性、跨瀏覽器的動畫,其聲稱有超過400萬個網站在使用。 GSAP 非常靈活,可以與React、Vue、Angular 和 原生 JS 一起使用。 GSDevtools 可以幫助你修改用 GSAP 構建的動畫。
github:github.com/greensock/G…
8. Scroll Reveal
![img](https://i.iter01.com/images/6aa2077d1b171aeadc8a6d273daf90247f656eaaa77357c90daa52f7abc22282.gif)
憑藉15K 的star 和零依賴關係,該庫為 Web 和移動瀏覽器提供了簡單的滾動動畫,能夠以動畫的方式顯示滾動內容。它支援多種簡潔的效果,甚至可以讓你使用自然語言去定義動畫。這是一個簡短的SitePoint教程。
github:github.com/jlmakes/scr…
9. Hover (CSS)
![img](https://i.iter01.com/images/e48d96d01f9017e5ad5419a7873d64ee7b37b59c478ebb1416a05bdb9eb34738.gif)
嗯,這是一個 CSS 庫。獲得了 20K 的 star,Hover 提供了 CSS3 的強大懸停效果,可用於連結、按鈕、徽標、SVG 和影像等,能在CSS、Sass和LESS中使用。你可以找到要在自己的樣式表中使用的效果並簡單的複製貼上,或者去引用樣式表。
github:github.com/IanLunn/Hov…
10. Kute.js
![img](https://i.iter01.com/images/b149e7fb376568df15f46850b435beb39e71a373dc527820cba849546150998a.gif)
一個完全成熟的原生 JavaScript 動畫引擎,具有跨瀏覽器動畫的基本功能。不過重點還是程式碼質量、靈活性、效能和大小(其核心引擎只有17k 大小,壓縮包僅 5.5k)。這裡是演示。該庫也是可擴充套件的,因此你可以新增自己的功能。
github:github.com/thednp/kute…
11. Typed.js
![img](https://i.iter01.com/images/dc4a3d75892961e279d15e791b59708836ff8b009c701d419f32697409b64936.gif)
這個有6K star 的庫的基本功能是能讓你以選定的速度建立一個打字動畫。你還可以在頁面上放置一個使用者不可見的 <div>
標籤並從中讀取你要輸出的內容,並能方便搜尋引擎抓取。這個庫非常流行而且充滿新意。
github:github.com/luisviniciu… 另外還有iTyped:github.com/luisviniciu…
有用但缺乏維護的
注意,這 8 個庫大多沒有維護,所以請小心使用。
-
Particles —— 用於建立粒子的輕量級JavaScript庫 github:github.com/VincentGarr…
-
loaders.css —— 令人愉快的,以效能為中心的純 css 載入動畫。 github:github.com/ConnorAther…
-
Parallax JS —— 對智慧裝置的方向作出反應的視差引擎 github:github.com/wagerfield/…
-
Bounce.js —— 快速建立漂亮的 CSS3 動畫。 github.com:github.com/tictail/bou…
-
CTA JS —— 使你的“動作效果”路徑動起來 github:github.com/chinchang/c…
-
html5tooltipsjs - 流暢的 3D 動畫提示效果 github.com:github.com/ytiurin/htm…
-
Pace JS —— 自動為你的網站新增進度條。 github:github.com/HubSpot/pac…
-
Anijs —— 無需編碼即可提升網頁設計效果的庫。 github:github.com/anijs/anijs
歡迎關注京程一燈公眾號:京程一燈,獲取更多前端乾貨。
![11 個最好的 JavaScript 動態效果庫](https://i.iter01.com/images/e9f607d709d92e9739509a94b40bfdaca1c9c7b60bc3acfd244b7137af8554af.png)