十個(gè)功能強(qiáng)大的 JavaScript 動(dòng)畫庫,打造引人入勝的用戶體驗(yàn)
動(dòng)畫。從人群中脫穎而出、吸引訪客注意力的絕佳方式。通過富有創(chuàng)意的物體運(yùn)動(dòng)和流暢的頁面轉(zhuǎn)換,不僅能為我們的網(wǎng)站增添獨(dú)特的美感,還能提高用戶參與度,創(chuàng)造令人難忘的第一印象。
有了這 10 個(gè)功能強(qiáng)大的 JavaScript 庫,創(chuàng)建動(dòng)畫再簡單不過了。滾動(dòng)動(dòng)畫、手寫動(dòng)畫、SPA 頁面轉(zhuǎn)換、打字動(dòng)畫、顏色動(dòng)畫、SVG 動(dòng)畫......它們的功能無窮無盡。
1、Anime.js
地址:https://animejs.com/
Anime.js 在 GitHub 上有超過 4.3 萬顆星,是最受歡迎的動(dòng)畫庫之一。
它是一個(gè)輕量級 JavaScript 動(dòng)畫庫,具有簡單的 API,可用于為 CSS 屬性、SVG、DOM 屬性和 JavaScript 對象制作動(dòng)畫。使用 Anime.js,我們可以播放、暫停、重啟或反轉(zhuǎn)動(dòng)畫。該庫還提供了驚人的功能,可通過跟進(jìn)和重疊動(dòng)作為多個(gè)元素制作動(dòng)畫。該庫還包含各種與動(dòng)畫相關(guān)的事件,我們可以使用回調(diào)和承諾來監(jiān)聽這些事件。
2、Lottie
地址:https://airbnb.io/lottie/
Lottie 是一個(gè)庫,可以解析使用 Bodymovin 插件以 JSON 格式導(dǎo)出的 Adobe After Effects 動(dòng)畫,并在移動(dòng)和網(wǎng)絡(luò)應(yīng)用程序上進(jìn)行原生渲染。這樣,用戶就無需手動(dòng)重新制作由專業(yè)設(shè)計(jì)師在 After Effects 中創(chuàng)建的高級動(dòng)畫。僅網(wǎng)絡(luò)版在 GitHub 上就有超過 27k 個(gè)星。
3、Velocity
地址:http://velocityjs.org/
使用Velocity,你可以創(chuàng)建顏色動(dòng)畫、變換、循環(huán)、緩和、SVG動(dòng)畫等。它使用的 API 與 jQuery 庫中的 $.animate()
方法相同,如果 jQuery 可用,它還可以與之集成。該庫提供漸變、滾動(dòng)和滑動(dòng)效果。除了能控制動(dòng)畫的持續(xù)時(shí)間和延遲外,還能在動(dòng)畫完成后的某個(gè)時(shí)間反轉(zhuǎn)動(dòng)畫,或在動(dòng)畫進(jìn)行時(shí)完全停止。該庫在 GitHub 上有 17k 多顆星,是 Anime.js 的理想替代品。
4、Rough Notation
地址:https://roughnotation.com/
Rough Notation 是一個(gè) JavaScript 庫,用于在網(wǎng)頁上創(chuàng)建彩色注釋并制作動(dòng)畫。它使用 RoughJS 創(chuàng)建手繪的外觀和感覺。您可以創(chuàng)建多種注釋樣式,包括下劃線、方框、圓圈、高亮、刪除線等,還可以控制每種注釋樣式的持續(xù)時(shí)間和顏色。
5、Popmotion
地址:https://popmotion.io/
Popmotion 是一個(gè)功能強(qiáng)大的庫,用于創(chuàng)建引人注目的動(dòng)畫。它為何與眾不同?- Popmotion 不假定您打算制作動(dòng)畫的對象屬性,而是提供可在任何 JavaScript 環(huán)境中使用的簡單、可組合的函數(shù)。
該庫支持?jǐn)?shù)字、顏色和復(fù)雜字符串的關(guān)鍵幀、彈簧和慣性動(dòng)畫。該庫測試良好,維護(hù)積極,在 GitHub 上擁有 19k 多顆星。
6、Vivus
地址:https://maxwellito.github.io/vivus/
Vivus 是一個(gè) JavaScript 庫,可讓你為 SVGs 制作動(dòng)畫,使其看起來就像正在繪制一樣。它速度快、重量輕,完全不依賴任何工具,并提供三種不同的 SVG 動(dòng)畫制作方法:它提供三種不同的 SVG 動(dòng)畫制作方法:延遲、同步和逐一。還可以使用自定義腳本,以自己喜歡的方式繪制 SVG。
Vivus 還允許您自定義持續(xù)時(shí)間、延遲、定時(shí)功能和其他動(dòng)畫設(shè)置。查看 Vivus Instant,了解現(xiàn)場實(shí)際操作示例。
7、綠襪動(dòng)畫平臺(tái)(GSAP)
地址:https://greensock.com/
GreenSock Animation Platform (GSAP) 是一個(gè)庫,可讓我們創(chuàng)建適用于所有主流瀏覽器的精彩動(dòng)畫。可以在 React、Vue、WebGL 和 HTML 畫布中使用它來制作顏色、字符串、運(yùn)動(dòng)路徑等動(dòng)畫。它還附帶了一個(gè) ScrollTrigger 插件,讓您只需少量代碼就能創(chuàng)建令人印象深刻的基于滾動(dòng)的動(dòng)畫。
GSAP已在1100多萬個(gè)網(wǎng)站中使用,在GitHub上有超過15K個(gè) "星",是一個(gè)通用而受歡迎的工具。您可以使用 GreenSock 的 GSDevTools 來輕松調(diào)試使用 GSAP 創(chuàng)建的動(dòng)畫。
8、Three.js
地址:https://threejs.org/
Three.js 是一個(gè)輕量級庫,用于顯示復(fù)雜的 3D 物體和動(dòng)畫。它利用 WebGL、SVG 和 CSS3D 渲染器來創(chuàng)建引人入勝的三維體驗(yàn),可在各種瀏覽器和設(shè)備上運(yùn)行。它是 JavaScript 社區(qū)的知名庫,在 GitHub 上擁有超過 85k 個(gè)星級。
9、ScrollReveal
地址:https://scrollrevealjs.org/
通過 ScrollReveal 庫,您可以輕松地為進(jìn)入或離開瀏覽器視口的 DOM 元素制作動(dòng)畫。它提供各種類型的優(yōu)雅特效,可在多個(gè)瀏覽器中滾動(dòng)時(shí)顯示或隱藏元素。ScrollReveal 庫也非常易于使用,在 GitHub 上的依賴性為零,擁有超過 2100 個(gè)星級用戶。
10、Barba.js
地址:https://barba.js.org/
讓網(wǎng)站出類拔萃的一種創(chuàng)造性方法是,在用戶瀏覽網(wǎng)頁時(shí),在網(wǎng)頁之間添加生動(dòng)的過渡效果。這比簡單地顯示新網(wǎng)頁或重新加載瀏覽器能帶來更好的用戶體驗(yàn)。
這就是 Barba.js 為何如此有用的原因;該庫可讓網(wǎng)站像單頁面應(yīng)用程序(SPA)一樣運(yùn)行,從而創(chuàng)建令人愉悅的頁面轉(zhuǎn)換。它能減少頁面之間的延遲,最大限度地減少瀏覽器的 HTTP 請求次數(shù)。它在 GitHub 上獲得了將近 11k顆星。
11、Mo.js
地址:https://barba.js.org/
它提供了簡單的聲明式 API,可輕松創(chuàng)建流暢的動(dòng)畫和特效,在各種屏幕尺寸的設(shè)備上都能呈現(xiàn)出完美的效果。您可以移動(dòng) HTML 或 SVG DOM 元素,也可以創(chuàng)建一個(gè)特殊的 Mo.js 對象,該對象具有一系列獨(dú)特的功能。它是一個(gè)可靠且經(jīng)過充分測試的庫,在 GitHub 上已編寫了 1500 多個(gè)測試,擁有 1700 多顆星。
12、Typed.js
地址:https://mattboldt.com/demos/typed-js/
它的名字就說明了一切:一個(gè)動(dòng)畫打字庫。
它能逐個(gè)字符鍵入特定字符串,就像有人在實(shí)時(shí)鍵入一樣,允許你暫停鍵入速度,甚至?xí)和fI入特定時(shí)間。通過智能退格,它可以鍵入以與當(dāng)前字符相同的字符集開始的連續(xù)字符串,而不會(huì)退格整個(gè)前一個(gè)字符串--就像我們在上面的演示中看到的那樣。
此外,它還支持批量鍵入,即同時(shí)在屏幕上鍵入一組字符,而不是一個(gè)接一個(gè)地鍵入。Typed.js在GitHub上有超過12K顆星,深受Slack和Envato的信任。
總結(jié)
作為開發(fā)人員,利用這些工具無疑會(huì)提升你的項(xiàng)目,使其在競爭日益激烈的數(shù)字環(huán)境中脫穎而出。