翻譯:瘋狂的技術宅 原文:blog.bitsrc.io/11-javascri…
當我想要在網上找一個簡潔的 Javascript 動效庫時,總是發現很多“推薦”的庫都是缺乏持續維護的。
經過一番研究,我收集了 11 個最好的庫,你可以用在自己的專案中。另外我還新增了一些有用但是缺少持續維護的庫。
提示:可以用 Bit 來共享你的元件,用它們構建多個專案並與你的團隊同步更改。不要重複造輪子。
這裡有一些 React spinners:
上面的每個元件都可以在站點上找到並測試,可以直接用在自己的專案中。
使用純CSS
在深入研究這些庫之前,不要忘記還有純 CSS。為什麼?因為它是標準的,可以提高效能(GPU),能夠提供很好的向後和向前相容性,它可能是建立動態效果的最有效方式。
1. Three.js
得到超過 43K 的star,這個流行的庫是在瀏覽器上建立 3D 動畫的最好的一種方式,它用了 WebGL 。通過提供<canvas>
、<svg>
、CSS3D 和 WebGL 渲染器,該庫可以讓我們跨裝置和瀏覽器建立豐富的互動式體驗。該庫於 2010 年 4 月首次推出,目前仍有近 1000 名參與者開發。
github: github.com/mrdoob/thre…
2. Anime.js
超過20K的 star,Anime 是一個 JavaScript 動畫庫,可以處理 CSS 屬性、單個 CSS 轉換、SVG或任何DOM屬性,以及 JavaScript 物件。這個庫允許你連結多個動畫屬性、對多個例項進行同步、建立時間軸等。
github:github.com/juliangarni…
3. Mo.js
這個庫有 14K 的 star,是一個用於 Web 的動態圖形工具集,有簡單的宣告性 API、跨裝置相容性和超過 1500 個單元測試。你可以在 DOME 或 SVG DOME 周圍移動你建立的圖形或建立唯一的 mo.js 物件。儘管文件有些欠缺,但是示例還是很豐富的,這裡有mo.js 的 CSS 技巧的介紹。
github:github.com/legomushroo…
4. Velocity
codepen上的演示:codepen.io/hone/pen/az…
有 15K 的 star,Velocity 是一個快速的 Javascript 動畫引擎,有與jQuery的 $.animate(). 相同的API。它具有顏色動畫、變換、迴圈、漸變、SVG支援和滾動。這是 Velocity 高效能引擎的細分,這是使用該庫的SVG動畫的簡介。
github:github.com/julianshapi…
5. Popmotion
有 14K 的star,這個庫只有 11kb 的大小。它允許開發人員從動作建立動畫和互動,動作是可以啟動和停止的值的流,並使用CSS、SVG、React、three.js 和任何接受數字作為輸入的 API 建立。
github:github.com/Popmotion/p…
6. Vivus
超過10K的star,Vivus 是一個零依賴 JavaScript 類,可以讓你製作 SVG 動畫,讓它們具有能夠被繪製的外觀。有很多動畫模版可以用,也可以建立自定義指令碼來繪製 SVG。不妨親自去 Vivus-instant 看一看例項。
github:github.com/maxwellito/…
7. GreenSock JS
GSAP 是一個 JavaScript 庫,用於建立高效能、零依賴性、跨瀏覽器的動畫,其聲稱有超過400萬個網站在使用。 GSAP 非常靈活,可以與React、Vue、Angular 和 原生 JS 一起使用。 GSDevtools 可以幫助你修改用 GSAP 構建的動畫。
github:github.com/greensock/G…
8. Scroll Reveal
憑藉15K 的star 和零依賴關係,該庫為 Web 和移動瀏覽器提供了簡單的滾動動畫,能夠以動畫的方式顯示滾動內容。它支援多種簡潔的效果,甚至可以讓你使用自然語言去定義動畫。這是一個簡短的SitePoint教程。
github:github.com/jlmakes/scr…
9. Hover (CSS)
嗯,這是一個 CSS 庫。獲得了 20K 的 star,Hover 提供了 CSS3 的強大懸停效果,可用於連結、按鈕、徽標、SVG 和影像等,能在CSS、Sass和LESS中使用。你可以找到要在自己的樣式表中使用的效果並簡單的複製貼上,或者去引用樣式表。
github:github.com/IanLunn/Hov…
10. Kute.js
一個完全成熟的原生 JavaScript 動畫引擎,具有跨瀏覽器動畫的基本功能。不過重點還是程式碼質量、靈活性、效能和大小(其核心引擎只有17k 大小,壓縮包僅 5.5k)。這裡是演示。該庫也是可擴充套件的,因此你可以新增自己的功能。
github:github.com/thednp/kute…
11. Typed.js
這個有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