ANIJS: Eine deklarative Handhabungsbibliothek für CSS -Animationen
Animation war schon immer ein heißer Favorit unter den Schülern, die lernen, das Programm zu programmieren. Während eines kürzlichen Webentwicklungs -Workshops am Wochenende, an dem ich teilgenommen habe, gab es eine Diskussion über Animationen mit CSS. Dann stolperte ich auf ANIJS, eine deklarative Handhabungsbibliothek für CSS -Animationen.
In diesem Tutorial werden wir sehen, worum es bei ANIJS geht und wie man es verwendet, um einige coole Animationseffekte zu erstellen.
Key Takeaways
- anijs ist eine deklarative Handhabungsbibliothek für CSS -Animationen, mit der Animationen mit einfachen, deklarativen Befehlen erstellt werden können, die direkt in HTML geschrieben wurden, wodurch die Verwaltung von Animationen vereinfacht wird.
- Die Bibliothek verwendet ein benutzerdefiniertes Attribut namens Data-Anijs in HTML5-Datenattributen, um deklarative Aussagen für Animationen zu erstellen. Beispielsweise bedeutet der Code `` Wenn sich das Eingabefeld fokussiert, wird eine "Wackel" -Animation zu einem Anker -Tag -Element ausgeführt.
- ANIJs können verwendet werden, um Webanwendungen mit Animationen zu verbessern. Das Tutorial verwendet das Beispiel einer einfachen Benutzerregistrierungs- und Anmeldungs-App, um zu demonstrieren Die Bibliothek bietet auch die Möglichkeit, eine Funktion vor und nach Animationen mit dem Schlüsselwort "vor" aufzurufen. Dies kann verwendet werden, um den Animationsfluss zu steuern, z. B. die Validierung von Formulareinträgen, bevor eine Animation ausgeführt wird oder verschiedene Bildschirme angezeigt und versteckt werden, bevor eine Animation ausgeführt wird.
Verwenden von ANIJs können wir Animationen mit deklarativen Befehlen in unserem HTML schreiben. Es bietet eine einfachere Möglichkeit, Animationen mithilfe von Erklärungen zu verwalten, die die Logik ausdrücken. Unten finden Sie ein Beispiel für die ANIJS -deklarative Syntax:
<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>
Wenn Sie sich konzentrieren, dann machen Sie ein Wackeln mit einem Anker -Tag -Element.
Erste SchritteIm Verlauf dieses Tutorials erstellen wir eine App, die mit Anijs mit Animationen verbessert wird. Diese App ist eine einfache Benutzerregistrierungs- und Anmeldungs -App, die einige Animationen mit ANIJs enthält. Der Hauptaugenmerk dieses Tutorials liegt darin, wie wir Animationen in unseren Web -Apps mit Anijs funktionieren können.
loslegen, ANIJs herunterladen und in Ihre Seite einbeziehen oder auf die CDN -Version verweisen.
Für das Styling werden wir das Animate.css libray von Dan Eden verwenden.
<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>
Erstellen des Anmeldebildschirms
<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>
Zuerst erstellen wir einen Bildschirm, damit sich der Benutzer anmeldet. Hier ist das HTML:
Was wir bisher haben, ist nur eine statische Anmeldeseite. Mit einigen CSS sieht es so aus:
<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>
Siehe das Tutorial von Stift ANIJS, statischer Anmeldebildschirm von SitePoint (@sinepoint) auf CodePen.
Wir haben unseren Bildschirm erstellt, jetzt müssen wir den Anmeldevorgang validieren. Um den animierten Effekt anzuhängen, verwenden wir das Data-Anijs-Attribut auf dem jeweiligen Element. Wir schreiben unsere deklarativen Aussagen mithilfe von HTML5-Datenattributen unter Verwendung eines benutzerdefinierten Attributs namens Data-Anijs. Fügen wir dieses Attribut zur Signin -Taste hinzu, wie unten gezeigt:
<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>
In dem obigen Code heißt es in dem deklarativen Satz Wenn die Schaltfläche Anmeldung geklickt wird, machen Sie eine Scharnieranimation zum Element mit der Klasse .Login_screen . Wenn wir also auf die Schaltfläche klicken, wirkt sich die Scharnieranimation aus, wie Sie sehen können, indem Sie auf die Schaltfläche "Signin" in der folgenden Demo klicken:
Siehe die Demo der Stift Anijs, fehlgeschlagen von SitePoint (@sinepoint) auf CodePen.
In der obigen Demo funktioniert die Animation, wenn auf die Schaltfläche klickt, unabhängig davon, ob es eine gültige oder ungültige Anmeldung gibt. Das ist nicht wirklich das, was wir wollen. Ändern wir den vorhandenen Code also so auf eine ungültige Anmeldung.
Um zu überprüfen, ob die Anmeldung gültig ist, müssen wir vor der Animation eine Validierungsfunktion aufrufen. Dafür verwenden wir das vor dem Keyword. Eine detaillierte Dokumentation zum Aufrufen einer Funktion vor und nach Animationen finden Sie in den ANIJS -Dokumenten. Wir werden im Ereignisobjekt übergeben, um die Animation sowie den AnimationContext auszulösen.
Erstens definieren wir den ANIJS -Helfer und dann die vorab Animationsfunktion deklarieren. So sieht die Funktion aus:
<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>
Wir werden auch das Datenattribut der Signin -Schaltfläche so ändern, dass die vorab Animationsfunktion angezeigt wird, wie unten gezeigt:
<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>
Jetzt findet die Animation nur statt, wenn das Feld E -Mail oder Passwort leer ist. Die Animation wird mit dem Befehl AnimationContext.run () im obigen JavaScript -Code -Block ausgeführt. Wenn sowohl eine E -Mail als auch ein Passwort eingegeben werden, wird eine "Verarbeitung ..." -Meldung angezeigt.
Hier ist eine Demo von dem, was wir bisher haben:
Siehe die Demo der Stift -Anijs, die Signin -Taste von SitePoint (@sinepoint) auf CodePen validiert.
Erstellen des Registers Bildschirm
Als nächstes erstellen wir eine Register- (oder Anmeldung) für unsere App. Wie Sie sehen können, haben wir bereits einen Register -Link auf unserer Anmeldeseite. Wir werden dem Register -Link einige Animationen und Ereignisse anschließen. Fügen Sie zunächst die folgende HTML für die Register -Seite zu unserem vorhandenen HTML hinzu:
<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>
Beachten Sie das Inline -CSS mit Anzeige: Keine im Element .reg_screen, wodurch dieser Bildschirm standardmäßig versteckt wird. Um den Register-Link im Anmeldebildschirm mit diesem neuen Bildschirm zu verbinden, fügen wir dem Link:
das Attribut "Data-Anijs" hinzu:<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>
Der obige Code besagt Wenn der Anmeldungslink klickt, führen Sie eine Rollin-Animation auf dem Element durch, das eine Klasse von reg_screen enthält (das ist unser Registerbildschirm). Dies funktioniert jedoch nicht, da der Registerbildschirm versteckt ist.
Was wir tun müssen, ist eine Funktion, bevor die Animation auftritt. In dieser Funktion verbergen wir den Anmeldebildschirm, während wir den Registerbildschirm sichtbar machen. Dann führen wir die Animation aus. Hier ist das JavaScript:
<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>
Dann ändern wir das Data-Anijs-Attribut des Registers Link:
<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>
Hier ist eine Demo mit unserem neu hinzugefügten Code:
Siehe den Stift Zdjlc von sitepoint (@sitepoint) auf CodePen.
Jetzt, da der Registerbildschirm sichtbar gemacht werden kann, müssen wir den Anmeldeverbindungslink im Registerbildschirm auch mit dem ursprünglichen Anmeldebildschirm anschließen, ähnlich wie wir es gerade für den Registerbildschirm gemacht haben. Hier ist die Funktion:
<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>
Und hier ist das modifizierte Data-Anijs-Attribut für den Anmeldelink:
<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>
Und hier ist eine Demo mit dem neuen Code:
Anmerkung des Editors: Die folgenden Demos scheinen in diesen Einbettungen nicht zu 100% zu funktionieren, insbesondere wenn Sie versuchen, zwischen „Anmelden“ und „Register“ mehrmals hin und her zu wechseln. Versuchen Sie den Link "Bearbeiten" im CodePen -Frame, um die vollständige Demo anzuzeigen, in der er gut funktionieren sollte.
Siehe die Demo der Stift Anijs, anzeigen Login & Show Register von SitePoint (@sinepoint) auf CodePen.
Ähnlich wie beim Anmeldebildschirm werden wir das Registerformular mit einer Funktion validieren:
<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>
Normalerweise würden wir viele dieser Objekte in Variablen zwischengespeichert, anstatt die Referenzen auf sie zu wiederholen. Wir machen es so nur für dieses einfache Beispiel.
und schließlich ändern wir das Data-Anijs-Attribut in unserem HTML, um den Animations- und Funktionsaufruf aufzunehmen.
<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>
Und hier ist unsere letzte Demo:
Siehe das Finale des Stift -Anijs -Demo von SitePoint (@sinepoint) auf CodePen.
Schlussfolgerung
In diesem Tutorial ist das, was wir diskutiert haben, nur ein kleiner Höhepunkt in dieser fantastischen Bibliothek. Eingehende Informationen zur Verwendung finden Sie in den ANIJS-Dokumenten.
häufig gestellte Fragen (FAQs) zu Anijs
Was ist Anijs und wie funktioniert es? Es ermöglicht Entwicklern, Animationen mit einer einfachen und intuitiven Syntax zu erstellen, ohne komplexen JavaScript -Code schreiben zu müssen. ANIJS arbeitet, indem es das Data-Anijs-Attribut in Ihren HTML-Elementen analysiert und die entsprechenden Animationen ausführt. Dies erleichtert es, Animationen zu verwalten und zu steuern, da Sie sie direkt in Ihrem HTML definieren können.
Wie installiere ich Anijs?
Die Installation von Anijs ist einfach. Sie können es direkt aus dem GitHub -Repository herunterladen oder einen Paketmanager wie NPM oder Bower verwenden. Nach dem Herunterladen müssen Sie lediglich das ANIJS -Skript in Ihre HTML -Datei aufnehmen. Anschließend können Sie ANIJs verwenden, indem Sie das Data-Anijs-Attribut zu Ihren HTML-Elementen hinzufügen.
Kann ich ANIJs mit anderen JavaScript-Bibliotheken verwenden? Bibliotheken. Es stört die Funktionalität anderer Bibliotheken nicht und Sie können sie neben Bibliotheken wie JQuery, React oder Angular verwenden. Dies macht ANIJs zu einem vielseitigen Tool zum Erstellen von Animationen in einer Vielzahl von Webentwicklungskontexten. HTML -Elemente und Definieren der Animationsparameter. Das Data-Anijs-Attribut verwendet eine einfache Syntax, die das Ereignis, das Element animiert, die zu angewendete Animation und die Rückruffunktion. Sie können auch die ANIJS -Helferfunktionen verwenden, um den Animationsfluss zu steuern.
Welche Arten von Animationen kann ich mit AniJs erstellen? Sie können einfache Animationen wie Verblassen und Folien sowie komplexere Animationen erstellen, die Transformationen und Übergänge beinhalten. ANIJS unterstützt auch Animationsketten und ermöglicht es Ihnen, Animationensequenzen zu erstellen, die in einer bestimmten Reihenfolge ausgeführt werden.
Kann ich ANIJs für reaktionsschnelles Design verwenden? Die mit ANIJs erstellten Animationen basieren auf CSS, was bedeutet, dass sie skaliert und an verschiedene Bildschirmgrößen und -auflösungen angepasst werden können. Dies macht ANIJs zu einem nützlichen Tool zum Erstellen von Animationen, die sowohl auf Desktop- als auch auf mobilen Geräten gut funktionieren. von Animationen. Sie können die Dauer der Animation im Data-Anijs-Attribut angeben und die Delay-Funktion verwenden, um die Animation für einen bestimmten Zeitraum zu pausieren. Sie können auch die ANIJS -Helferfunktionen verwenden, um den Animationsfluss und das Timing zu steuern. Sie können dieselben Animationsparameter und Steuermethoden auf SVG -Elemente wie Sie auf regelmäßige HTML -Elemente anwenden. Auf diese Weise können Sie komplexe Animationen erstellen, die SVG-Grafiken und -formen beinhalten. Animationseigenschaften. Wenn eine Animation nicht wie erwartet funktioniert, können Sie die Entwickler -Tools des Browsers verwenden, um das HTML -Element zu inspizieren und die angewendeten CSS -Eigenschaften zu überprüfen. Sie können auch die JavaScript -Konsole auf alle Fehlermeldungen im Zusammenhang mit ANIJs überprüfen.
Kann ich zur Entwicklung von Anijs beitragen? Sie können beitragen, indem Sie Fehler melden, neue Funktionen vorschlagen, die Dokumentation verbessern oder Pull -Anfragen mit Codeverbesserungen senden. Weitere Informationen finden Sie auf der ANIJS -Github -Seite.
Das obige ist der detaillierte Inhalt vonANIJS: Eine deklarative Handhabungsbibliothek für CSS -Animationen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Häufig gestellte Fragen und Lösungen für das Ticket-Ticket-Ticket-Ticket in Front-End im Front-End-Entwicklungsdruck ist der Ticketdruck eine häufige Voraussetzung. Viele Entwickler implementieren jedoch ...

JavaScript ist der Eckpfeiler der modernen Webentwicklung. Zu den Hauptfunktionen gehören eine ereignisorientierte Programmierung, die Erzeugung der dynamischen Inhalte und die asynchrone Programmierung. 1) Ereignisgesteuerte Programmierung ermöglicht es Webseiten, sich dynamisch entsprechend den Benutzeroperationen zu ändern. 2) Die dynamische Inhaltsgenerierung ermöglicht die Anpassung der Seiteninhalte gemäß den Bedingungen. 3) Asynchrone Programmierung stellt sicher, dass die Benutzeroberfläche nicht blockiert ist. JavaScript wird häufig in der Webinteraktion, der einseitigen Anwendung und der serverseitigen Entwicklung verwendet, wodurch die Flexibilität der Benutzererfahrung und die plattformübergreifende Entwicklung erheblich verbessert wird.

Es gibt kein absolutes Gehalt für Python- und JavaScript -Entwickler, je nach Fähigkeiten und Branchenbedürfnissen. 1. Python kann mehr in Datenwissenschaft und maschinellem Lernen bezahlt werden. 2. JavaScript hat eine große Nachfrage in der Entwicklung von Front-End- und Full-Stack-Entwicklung, und sein Gehalt ist auch beträchtlich. 3. Einflussfaktoren umfassen Erfahrung, geografische Standort, Unternehmensgröße und spezifische Fähigkeiten.

JavaScript zu lernen ist nicht schwierig, aber es ist schwierig. 1) Verstehen Sie grundlegende Konzepte wie Variablen, Datentypen, Funktionen usw. 2) Beherrschen Sie die asynchrone Programmierung und implementieren Sie sie durch Ereignisschleifen. 3) Verwenden Sie DOM -Operationen und versprechen Sie, asynchrone Anfragen zu bearbeiten. 4) Vermeiden Sie häufige Fehler und verwenden Sie Debugging -Techniken. 5) Die Leistung optimieren und Best Practices befolgen.

Diskussion über die Realisierung von Parallaxe -Scrolling- und Elementanimationseffekten in diesem Artikel wird untersuchen, wie die offizielle Website der Shiseeido -Website (https://www.shiseeido.co.jp/sb/wonderland/) ähnlich ist ...

Zu den neuesten Trends im JavaScript gehören der Aufstieg von Typenkripten, die Popularität moderner Frameworks und Bibliotheken und die Anwendung der WebAssembly. Zukunftsaussichten umfassen leistungsfähigere Typsysteme, die Entwicklung des serverseitigen JavaScript, die Erweiterung der künstlichen Intelligenz und des maschinellen Lernens sowie das Potenzial von IoT und Edge Computing.

Wie fusioniere ich Array -Elemente mit derselben ID in ein Objekt in JavaScript? Bei der Verarbeitung von Daten begegnen wir häufig die Notwendigkeit, dieselbe ID zu haben ...

Eingehende Diskussion der Ursachen des Unterschieds in der Konsole.log-Ausgabe. In diesem Artikel wird die Unterschiede in den Ausgabeergebnissen der Konsolenfunktion in einem Code analysiert und die Gründe dafür erläutert. � ...
