在本教程中,我們將看到Anijs的全部內容以及如何使用它來創建一些很酷的動畫效果。
開始,下載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>用於樣式,我們將使用andate.css libray by dan Eden。
創建登錄屏幕
首先,我們將創建一個屏幕供用戶登錄。這是html:>請參閱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>
>請參閱codepen上的sitepoint(@sitepoint)的筆zdjlc。
<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>
>請參閱pen anijs演示,在codepen上按SitePoint(@sitepoint)顯示登錄和顯示登記冊。 <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>
請參閱codepen上的sitepoint(@sitepoint)的pen anijs演示。 <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中文網其他相關文章!