ANIJS:CSS動畫的聲明性處理庫
在本教程中,我們將看到Anijs的全部內容以及如何使用它來創建一些很酷的動畫效果。
>庫在HTML5數據屬性中使用一個自定義屬性,稱為Data-Anijs來創建動畫的聲明語句。例如,代碼`
`表示如果輸入字段焦點,它將對錨標記元素進行“ Wobble”動畫。- >庫還提供了使用“之前”關鍵字在動畫之前和之後調用功能的功能。這可以用於控制動畫的流程,例如在運行動畫之前驗證表單條目,或者在運行動畫之前顯示和隱藏不同的屏幕。
- 在上面的代碼中,聲明語法說: 如果專注於焦點,請對錨標記元素進行搖擺。
- >
在本教程的過程中,我們將使用Anijs創建一個動畫來創建一個應用程序。該應用將是一個簡單的用戶註冊和登錄應用程序,它將使用ANIJS包括一些動畫。本教程的主要重點是我們如何使用Anijs在Web應用中工作。
。開始,下載anijs並將其包含在您的頁面中,或引用CDN版本。
<span><span><span><input</span> id<span>="txtName"</span> type<span>="text"</span> data-anijs<span>="if: focus, do: wobble, to: a"</span>></span></span>
創建登錄屏幕
首先,我們將創建一個屏幕供用戶登錄。這是html:到目前為止,我們擁有的只是一個靜態登錄頁面。有了一些CSS,看起來像這樣:
>請參閱codepen上的sitepoint(@sitepoint)的pen anijs教程,
上的靜態登錄屏幕(@sitepoint)我們已經創建了屏幕,現在我們需要驗證登錄過程。為了附加動畫效果,我們使用特定元素上的數據anijs屬性。我們使用稱為data-anijs的自定義屬性使用HTML5數據屬性編寫聲明語句。讓我們將此屬性添加到簽名按鈕中,如下所示:
><span><span><span><input</span> id<span>="txtName"</span> type<span>="text"</span> data-anijs<span>="if: focus, do: wobble, to: a"</span>></span></span>
單擊“登錄”按鈕時,使用類別.login_screen對元素進行鉸鏈動畫。因此,當我們單擊按鈕時,鉸鏈動畫會生效,正如您通過單擊下面的演示中的簽名按鈕所看到的:
請參閱pen anijs演示,在codepen上通過sitepoint(@sitepoint)登錄失敗。在上述演示中,當按鈕被單擊時,無論有效還是無效的登錄,動畫都可以使用。這並不是我們想要的,所以讓我們修改現有代碼以僅在無效的登錄中進行動畫。
為了檢查登錄是否有效,我們需要在動畫之前調用validation函數。為此,我們將使用之前的關鍵字。在ANIJS文檔中可以找到與調用動畫之前和之後的函數有關的詳細文檔。我們將通過事件對像傳遞到觸發動畫以及動畫context。
>我們還將修改signin按鈕的數據屬性以包括之前的動畫函數,如下所示: >現在,只有在電子郵件或密碼字段為空的情況下,動畫才會發生。使用AnimationContext.run()命令在上方的JavaScript代碼塊中運行動畫。如果輸入了電子郵件和密碼,則將顯示“處理……”消息。 >
>: >上面的代碼單擊註冊鏈接時,在具有reg_screen類別的元素上進行滾動動畫(這是我們的寄存器屏幕)。但這是行不通的,因為寄存器屏幕被隱藏了。
這是一個帶有我們新添加的代碼的演示: >現在可以使寄存器屏幕可見,我們還需要將寄存器屏幕中的登錄鏈接連接到原始登錄屏幕,類似於我們剛剛為寄存器屏幕所做的操作。這是函數:
>
通常,我們通常會在變量中緩存許多這些對象,而不是重複對它們的引用。我們只是為這個簡單的示例而這樣做。 >
>
這是我們的最終演示:
什麼是Anijs,它如何工作? > >使用anijs創建動畫涉及添加data-anijs屬性HTML元素並定義動畫參數。 Data-Anijs屬性使用的簡單語法指定事件,動畫元素,應用動畫和回調函數。您還可以使用ANIJS助手函數來控制動畫流。 anijs anijs支持廣泛的CSS動畫。您可以創建簡單的動畫,例如淡出和幻燈片,以及涉及轉換和過渡的更複雜的動畫。 ANIJS還支持動畫鏈,使您可以創建以特定順序執行的動畫序列。 > ><span><span><span><script</span> src<span>="http://cdn.jsdelivr.net/anijs/0.4.0/anijs-min.js"</span>></span><span><span></script</span>></span></span>
<span><span><span><link</span> rel<span>="stylesheet"</span>
</span></span><span> <span>href<span>="http://cdn.jsdelivr.net/animatecss/3.1.0/animate.css"</span>></span></span>
<span><span><span><input</span> id<span>="txtName"</span> type<span>="text"</span> data-anijs<span>="if: focus, do: wobble, to: a"</span>></span></span>
<span><span><span><script</span> src<span>="http://cdn.jsdelivr.net/anijs/0.4.0/anijs-min.js"</span>></span><span><span></script</span>></span></span>
<span><span><span><link</span> rel<span>="stylesheet"</span>
</span></span><span> <span>href<span>="http://cdn.jsdelivr.net/animatecss/3.1.0/animate.css"</span>></span></span>
<span><span><span><div</span> class<span>="container"</span>></span>
</span>
<span><span><span><div</span> id<span>="divLogin"</span> class<span>="login_screen"</span>></span>
</span> <span><span><span><h2</span> id<span>="spnLogin"</span>></span>Sign In<span><span></h2</span>></span>
</span> <span><span><span><input</span> id<span>="txtLoginId"</span> type<span>="text"</span> placeholder<span>="Email Id"</span> /></span>
</span> <span><span><span><input</span> id<span>="txtLoginPass"</span> type<span>="password"</span> placeholder<span>="Password"</span> /></span>
</span> <span><span><span><a</span> href<span>="#"</span> class<span>="btn"</span>></span>
</span> SignIn
<span><span><span></a</span>></span>
</span> <span><span><span><a</span> href<span>="#"</span> class<span>="signup-link"</span>></span>Register?<span><span></a</span>></span>
</span> <span><span><span></div</span>></span><!-- .login-screen -->
</span>
<span><span><span></div</span>></span><!-- .container --></span>
<span><span><span><a</span> href<span>="#"</span>
</span></span><span> <span>class<span>="btn"</span>
</span></span><span> <span>data-anijs<span>="if: click, do: hinge animated, to: .login_screen"</span>></span>
</span> SignIn
<span><span><span></a</span>></span></span>
<span>var animationHelper = AniJS.getHelper(),
</span> spnLogin <span>= document.getElementById('spnLogin');
</span>
animationHelper<span>.validateLogin = function (e<span>, animationContext</span>) {
</span> <span>var email = document.getElementById('txtLoginId').value;
</span> <span>var pass = document.getElementById('txtLoginPass').value;
</span> <span>if (email && pass) {
</span> spnLogin<span>.innerHTML = 'Processing...';
</span> <span>} else {
</span> spnLogin<span>.innerHTML = 'Fill Required fields.';
</span> animationContext<span>.run();
</span> <span>}
</span><span>}</span>
<span><span><span><a</span> href<span>="#"</span>
</span></span><span> <span>class<span>="btn"</span>
</span></span><span> <span>data-anijs<span>="if: click, do: hinge animated, to: .login_screen, before: validateLogin"</span>></span>
</span> SignIn
<span><span><span></a</span>></span></span>
>如何安裝anijs?
安裝Anijs很簡單。您可以直接從GitHub存儲庫下載它,也可以使用NPM或Bower等軟件包管理器。下載後,您只需要在HTML文件中包含ANIJS腳本即可。然後,您可以通過將data-anijs屬性添加到您的html元素來開始使用anijs。 >我可以使用Anijs創建哪些類型的動畫?
我可以使用anijs進行響應式設計嗎?
是的,可以將anijs用於響應式設計。使用ANIJS創建的動畫基於CSS,這意味著它們可以縮放並適應不同的屏幕尺寸和分辨率。這使ANIJS成為創建在台式機和移動設備上都可以正常工作的動畫的有用工具。 如何控制Anijs中動畫的時間? 我可以為Anijs的發展做出貢獻嗎?您可以通過報告錯誤,建議新功能,改進文檔或提交代碼改進的拉請請求來做出貢獻。您可以找到有關如何在Anijs GitHub頁面上做出貢獻的更多信息。
>
以上是ANIJS:CSS動畫的聲明性處理庫的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

JavaScript是現代Web開發的基石,它的主要功能包括事件驅動編程、動態內容生成和異步編程。 1)事件驅動編程允許網頁根據用戶操作動態變化。 2)動態內容生成使得頁面內容可以根據條件調整。 3)異步編程確保用戶界面不被阻塞。 JavaScript廣泛應用於網頁交互、單頁面應用和服務器端開發,極大地提升了用戶體驗和跨平台開發的靈活性。

Python和JavaScript開發者的薪資沒有絕對的高低,具體取決於技能和行業需求。 1.Python在數據科學和機器學習領域可能薪資更高。 2.JavaScript在前端和全棧開發中需求大,薪資也可觀。 3.影響因素包括經驗、地理位置、公司規模和特定技能。

學習JavaScript不難,但有挑戰。 1)理解基礎概念如變量、數據類型、函數等。 2)掌握異步編程,通過事件循環實現。 3)使用DOM操作和Promise處理異步請求。 4)避免常見錯誤,使用調試技巧。 5)優化性能,遵循最佳實踐。

實現視差滾動和元素動畫效果的探討本文將探討如何實現類似資生堂官網(https://www.shiseido.co.jp/sb/wonderland/)中�...

如何在JavaScript中將具有相同ID的數組元素合併到一個對像中?在處理數據時,我們常常會遇到需要將具有相同ID�...

JavaScript的最新趨勢包括TypeScript的崛起、現代框架和庫的流行以及WebAssembly的應用。未來前景涵蓋更強大的類型系統、服務器端JavaScript的發展、人工智能和機器學習的擴展以及物聯網和邊緣計算的潛力。

深入探討console.log輸出差異的根源本文將分析一段代碼中console.log函數輸出結果的差異,並解釋其背後的原因。 �...
