国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

目錄
>庫在HTML5數(shù)據(jù)屬性中使用一個(gè)自定義屬性,稱為Data-Anijs來創(chuàng)建動(dòng)畫的聲明語句。例如,代碼`
我可以為Anijs的發(fā)展做出貢獻(xiàn)嗎?您可以通過報(bào)告錯(cuò)誤,建議新功能,改進(jìn)文檔或提交代碼改進(jìn)的拉請請求來做出貢獻(xiàn)。您可以找到有關(guān)如何在Anijs GitHub頁面上做出貢獻(xiàn)的更多信息。
首頁 web前端 js教程 ANIJS:CSS動(dòng)畫的聲明性處理庫

ANIJS:CSS動(dòng)畫的聲明性處理庫

Feb 21, 2025 am 09:22 AM

AniJS: A Declarative Handling Library for CSS Animations

ANIJS:CSS動(dòng)畫的聲明性處理庫

在學(xué)習(xí)編程的學(xué)生中,動(dòng)畫一直是學(xué)生的最愛。在我參加的最近的周末網(wǎng)絡(luò)開發(fā)研討會(huì)上,討論了使用CSS的動(dòng)畫。那是當(dāng)我偶然發(fā)現(xiàn)Anijs的時(shí)候,Anijs是CSS動(dòng)畫的聲明性處理庫。

在本教程中,我們將看到Anijs的全部內(nèi)容以及如何使用它來創(chuàng)建一些很酷的動(dòng)畫效果。 >

鑰匙要點(diǎn)

anijs是CSS動(dòng)畫的聲明性處理庫,允許使用直接寫在HTML中的簡單聲明的命令創(chuàng)建動(dòng)畫,簡化了動(dòng)畫的管理。

>庫在HTML5數(shù)據(jù)屬性中使用一個(gè)自定義屬性,稱為Data-Anijs來創(chuàng)建動(dòng)畫的聲明語句。例如,代碼`

`表示如果輸入字段焦點(diǎn),它將對錨標(biāo)記元素進(jìn)行“ Wobble”動(dòng)畫。 > Anijs可用於使用動(dòng)畫增強(qiáng)Web應(yīng)用程序。本教程使用了簡單的用戶註冊和登錄應(yīng)用程序的示例,演示瞭如何創(chuàng)建登錄屏幕,驗(yàn)證登錄過程以及使用Anijs使用動(dòng)畫創(chuàng)建寄存器屏幕。
    >庫還提供了使用“之前”關(guān)鍵字在動(dòng)畫之前和之後調(diào)用功能的功能。這可以用於控制動(dòng)畫的流程,例如在運(yùn)行動(dòng)畫之前驗(yàn)證表單條目,或者在運(yùn)行動(dòng)畫之前顯示和隱藏不同的屏幕。
  • Anijs 簡介 使用anijs,我們可以使用html中的聲明命令編寫動(dòng)畫。它提供了一種使用表達(dá)邏輯的聲明來管理動(dòng)畫的簡便方法。以下是Anijs聲明語法的一個(gè)示例:
  • 在上面的代碼中,聲明語法說:
  • 如果專注於焦點(diǎn),請對錨標(biāo)記元素進(jìn)行搖擺。
  • >
入門

在本教程的過程中,我們將使用Anijs創(chuàng)建一個(gè)動(dòng)畫來創(chuàng)建一個(gè)應(yīng)用程序。該應(yīng)用將是一個(gè)簡單的用戶註冊和登錄應(yīng)用程序,它將使用ANIJS包括一些動(dòng)畫。本教程的主要重點(diǎn)是我們?nèi)绾问褂肁nijs在Web應(yīng)用中工作。

開始,下載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。

創(chuàng)建登錄屏幕

首先,我們將創(chuàng)建一個(gè)屏幕供用戶登錄。這是html:

到目前為止,我們擁有的只是一個(gè)靜態(tài)登錄頁面。有了一些CSS,看起來像這樣:

>請參閱codepen上的sitepoint(@sitepoint)的pen anijs教程,

上的靜態(tài)登錄屏幕(@sitepoint)

我們已經(jīng)創(chuàng)建了屏幕,現(xiàn)在我們需要驗(yàn)證登錄過程。為了附加動(dòng)畫效果,我們使用特定元素上的數(shù)據(jù)anijs屬性。我們使用稱為data-anijs的自定義屬性使用HTML5數(shù)據(jù)屬性編寫聲明語句。讓我們將此屬性添加到簽名按鈕中,如下所示:

>
<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>
在上面的代碼中,聲明句子說:

單擊“登錄”按鈕時(shí),使用類別.login_screen對元素進(jìn)行鉸鏈動(dòng)畫。因此,當(dāng)我們單擊按鈕時(shí),鉸鏈動(dòng)畫會(huì)生效,正如您通過單擊下面的演示中的簽名按鈕所看到的:

請參閱pen anijs演示,在codepen上通過sitepoint(@sitepoint)登錄失敗。

在上述演示中,當(dāng)按鈕被單擊時(shí),無論有效還是無效的登錄,動(dòng)畫都可以使用。這並不是我們想要的,所以讓我們修改現(xiàn)有代碼以僅在無效的登錄中進(jìn)行動(dòng)畫。

為了檢查登錄是否有效,我們需要在動(dòng)畫之前調(diào)用validation函數(shù)。為此,我們將使用之前的關(guān)鍵字。在ANIJS文檔中可以找到與調(diào)用動(dòng)畫之前和之後的函數(shù)有關(guān)的詳細(xì)文檔。我們將通過事件對像傳遞到觸發(fā)動(dòng)畫以及動(dòng)畫context。 首先,我們將定義Anijs助手,然後聲明動(dòng)畫函數(shù)。這是函數(shù)的外觀:

>我們還將修改signin按鈕的數(shù)據(jù)屬性以包括之前的動(dòng)畫函數(shù),如下所示:

<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>

>現(xiàn)在,只有在電子郵件或密碼字段為空的情況下,動(dòng)畫才會(huì)發(fā)生。使用AnimationContext.run()命令在上方的JavaScript代碼塊中運(yùn)行動(dòng)畫。如果輸入了電子郵件和密碼,則將顯示“處理……”消息。

>
<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>
這是我們到目前為止所擁有的演示:

>

>請參閱pen anijs演示,通過codepen上的sitepoint(@sitepoint)驗(yàn)證簽名按鈕。

創(chuàng)建寄存器屏幕

接下來,我們將為我們的應(yīng)用創(chuàng)建一個(gè)寄存器(或註冊)頁面。如您所見,我們在登錄頁面上已經(jīng)有一個(gè)寄存器鏈接。我們要做的就是將一些動(dòng)畫和事件附加到寄存器鏈接。首先,將寄存器頁面的以下HTML添加到我們現(xiàn)有的HTML: 注意帶有顯示的內(nèi)聯(lián)CSS:.REG_SCREEN元素上的無,這使該屏幕默認(rèn)隱藏了。要將登錄屏幕中的寄存器鏈接連接到此新屏幕,我們將data-anijs屬性添加到鏈接:

>:

<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>

>上面的代碼單擊註冊鏈接時(shí),在具有reg_screen類別的元素上進(jìn)行滾動(dòng)動(dòng)畫(這是我們的寄存器屏幕)。但這是行不通的,因?yàn)榧拇嫫髌聊槐浑[藏了。

我們需要做的是在動(dòng)畫發(fā)生之前調(diào)用功能。在該功能中,我們在可見寄存器屏幕時(shí)隱藏登錄屏幕。然後我們運(yùn)行動(dòng)畫。這是javaScript:

然後,我們將修改寄存器鏈接的data-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>

這是一個(gè)帶有我們新添加的代碼的演示:

<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。

>現(xiàn)在可以使寄存器屏幕可見,我們還需要將寄存器屏幕中的登錄鏈接連接到原始登錄屏幕,類似於我們剛剛為寄存器屏幕所做的操作。這是函數(shù):

>這是登錄鏈接的修改數(shù)據(jù)-Anijs屬性:>

>這是一個(gè)帶有新代碼的演示:
<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>
>

>

>編輯器注:下面的演示似乎無法在這些嵌入中正確起作用100%,尤其是當(dāng)您嘗試在“登錄”和“寄存器”之間多次切換時(shí)。嘗試Codepen框架中的“編輯”鏈接以查看完整的演示,在此工作正常。
<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)顯示登錄和顯示登記冊。

與我們在登錄屏幕中所做的類似,我們將使用一個(gè)函數(shù)驗(yàn)證寄存器表單:

通常,我們通常會(huì)在變量中緩存許多這些對象,而不是重複對它們的引用。我們只是為這個(gè)簡單的示例而這樣做。 >

>最後,讓我們修改html中的data-anijs屬性以包括動(dòng)畫和函數(shù)調(diào)用。

>

這是我們的最終演示:

<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演示。

結(jié)論

在本教程中,我們討論的只是一個(gè)偷偷摸摸地進(jìn)入這個(gè)很棒的圖書館。有關(guān)其使用情況的深入信息可在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>
經(jīng)常詢問的問題(常見問題解答)

什麼是Anijs,它如何工作? anijs是CSS動(dòng)畫的聲明性處理庫。它允許開發(fā)人員使用簡單而直觀的語法創(chuàng)建動(dòng)畫,而無需編寫複雜的JavaScript代碼。 ANIJS通過在您的HTML元素中解析數(shù)據(jù)anijs屬性並執(zhí)行相應(yīng)的動(dòng)畫來工作。這使得管理和控制動(dòng)畫變得更容易,因?yàn)槟梢灾苯釉趆tml中定義它們。

>

>如何安裝anijs?

安裝Anijs很簡單。您可以直接從GitHub存儲(chǔ)庫下載它,也可以使用NPM或Bower等軟件包管理器。下載後,您只需要在HTML文件中包含ANIJS腳本即可。然後,您可以通過將data-anijs屬性添加到您的html元素來開始使用anijs。

>

>我可以與其他JavaScript庫一起使用anijs?庫。它不會(huì)干擾其他庫的功能,您可以與諸如jQuery,react或Angular之類的庫一起使用。這使Anijs成為在各種Web開發(fā)環(huán)境中創(chuàng)建動(dòng)畫的多功能工具。

如何使用anijs創(chuàng)建動(dòng)畫?

>使用anijs創(chuàng)建動(dòng)畫涉及添加data-anijs屬性HTML元素並定義動(dòng)畫參數(shù)。 Data-Anijs屬性使用的簡單語法指定事件,動(dòng)畫元素,應(yīng)用動(dòng)畫和回調(diào)函數(shù)。您還可以使用ANIJS助手函數(shù)來控制動(dòng)畫流。

>我可以使用Anijs創(chuàng)建哪些類型的動(dòng)畫?

anijs anijs支持廣泛的CSS動(dòng)畫。您可以創(chuàng)建簡單的動(dòng)畫,例如淡出和幻燈片,以及涉及轉(zhuǎn)換和過渡的更複雜的動(dòng)畫。 ANIJS還支持動(dòng)畫鏈,使您可以創(chuàng)建以特定順序執(zhí)行的動(dòng)畫序列。

我可以使用anijs進(jìn)行響應(yīng)式設(shè)計(jì)嗎?

是的,可以將anijs用於響應(yīng)式設(shè)計(jì)。使用ANIJS創(chuàng)建的動(dòng)畫基於CSS,這意味著它們可以縮放並適應(yīng)不同的屏幕尺寸和分辨率。這使ANIJS成為創(chuàng)建在臺(tái)式機(jī)和移動(dòng)設(shè)備上都可以正常工作的動(dòng)畫的有用工具。

如何控制Anijs中動(dòng)畫的時(shí)間?

anijs anijs提供了幾種控制時(shí)間的方法動(dòng)畫。您可以在data-anijs屬性中指定動(dòng)畫的持續(xù)時(shí)間,並且可以使用延遲功能在一定時(shí)間內(nèi)暫停動(dòng)畫。您還可以使用ANIJS助手函數(shù)來控制動(dòng)畫流和時(shí)機(jī)。

我可以使用anijs動(dòng)畫svg元素嗎?

是的,可以使用anijs來動(dòng)畫SVG元素。您可以像常規(guī)的HTML元素一樣,將相同的動(dòng)畫參數(shù)和控制方法應(yīng)用於SVG元素。這使您可以創(chuàng)建涉及SVG圖形和形狀的複雜動(dòng)畫。

>

>如何調(diào)試Anijs中的動(dòng)畫? 在anijs中調(diào)試動(dòng)畫涉及檢查數(shù)據(jù)anijs屬性和CSS的語法動(dòng)畫屬性。如果動(dòng)畫無法正常工作,則可以使用瀏覽器的開發(fā)人員工具來檢查HTML元素並檢查應(yīng)用的CSS屬性。您還可以檢查JavaScript控制臺(tái)是否與Anijs相關(guān)的任何錯(cuò)誤消息。

>

我可以為Anijs的發(fā)展做出貢獻(xiàn)嗎?您可以通過報(bào)告錯(cuò)誤,建議新功能,改進(jìn)文檔或提交代碼改進(jìn)的拉請請求來做出貢獻(xiàn)。您可以找到有關(guān)如何在Anijs GitHub頁面上做出貢獻(xiàn)的更多信息。

>

以上是ANIJS:CSS動(dòng)畫的聲明性處理庫的詳細(xì)內(nèi)容。更多資訊請關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願(yuàn)投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動(dòng)的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

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

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強(qiáng)大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

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

在JavaScript中使用哪些評論符號(hào):一個(gè)明確的解釋 在JavaScript中使用哪些評論符號(hào):一個(gè)明確的解釋 Jun 12, 2025 am 10:27 AM

在JavaScript中,選擇單行註釋(//)還是多行註釋(//)取決於註釋的目的和項(xiàng)目需求:1.使用單行註釋進(jìn)行快速、內(nèi)聯(lián)的解釋;2.使用多行註釋進(jìn)行詳細(xì)的文檔說明;3.保持註釋風(fēng)格的一致性;4.避免過度註釋;5.確保註釋與代碼同步更新。選擇合適的註釋風(fēng)格有助於提高代碼的可讀性和可維護(hù)性。

Java vs. JavaScript:清除混亂 Java vs. JavaScript:清除混亂 Jun 20, 2025 am 12:27 AM

Java和JavaScript是不同的編程語言,各自適用於不同的應(yīng)用場景。 Java用於大型企業(yè)和移動(dòng)應(yīng)用開發(fā),而JavaScript主要用於網(wǎng)頁開發(fā)。

JavaScript評論:簡短說明 JavaScript評論:簡短說明 Jun 19, 2025 am 12:40 AM

JavascriptconcommentsenceenceEncorenceEnterential gransimenting,reading and guidingCodeeXecution.1)單inecommentsareusedforquickexplanations.2)多l(xiāng)inecommentsexplaincomplexlogicorprovideDocumentation.3)

掌握J(rèn)avaScript評論:綜合指南 掌握J(rèn)avaScript評論:綜合指南 Jun 14, 2025 am 12:11 AM

評論arecrucialinjavascriptformaintainingclarityclarityandfosteringCollaboration.1)heelpindebugging,登機(jī),andOnderStandingCodeeVolution.2)使用林格forquickexexplanations andmentmentsmmentsmmentsmments andmmentsfordeffordEffordEffordEffordEffordEffordEffordEffordEddeScriptions.3)bestcractices.3)bestcracticesincracticesinclud

JavaScript數(shù)據(jù)類型:深度潛水 JavaScript數(shù)據(jù)類型:深度潛水 Jun 13, 2025 am 12:10 AM

JavaScripthasseveralprimitivedatatypes:Number,String,Boolean,Undefined,Null,Symbol,andBigInt,andnon-primitivetypeslikeObjectandArray.Understandingtheseiscrucialforwritingefficient,bug-freecode:1)Numberusesa64-bitformat,leadingtofloating-pointissuesli

JavaScript與Java:開發(fā)人員的全面比較 JavaScript與Java:開發(fā)人員的全面比較 Jun 20, 2025 am 12:21 AM

JavaScriptIspreferredforredforwebdevelverment,而Javaisbetterforlarge-ScalebackendsystystemsandSandAndRoidApps.1)JavascriptexcelcelsincreatingInteractiveWebexperienceswebexperienceswithitswithitsdynamicnnamicnnamicnnamicnnamicnemicnemicnemicnemicnemicnemicnemicnemicnddommanipulation.2)

如何在JS中與日期和時(shí)間合作? 如何在JS中與日期和時(shí)間合作? Jul 01, 2025 am 01:27 AM

JavaScript中的日期和時(shí)間處理需注意以下幾點(diǎn):1.創(chuàng)建Date對像有多種方式,推薦使用ISO格式字符串以保證兼容性;2.獲取和設(shè)置時(shí)間信息可用get和set方法,注意月份從0開始;3.手動(dòng)格式化日期需拼接字符串,也可使用第三方庫;4.處理時(shí)區(qū)問題建議使用支持時(shí)區(qū)的庫,如Luxon。掌握這些要點(diǎn)能有效避免常見錯(cuò)誤。

JavaScript:探索用於高效編碼的數(shù)據(jù)類型 JavaScript:探索用於高效編碼的數(shù)據(jù)類型 Jun 20, 2025 am 12:46 AM

javascripthassevenfundaMentalDatatypes:數(shù)字,弦,布爾值,未定義,null,object和symbol.1)numberSeadUble-eaduble-ecisionFormat,forwidevaluerangesbutbecautious.2)

See all articles