suchen
HeimWeb-Frontendjs-TutorialHinzufügen von CSS -Animationen zu AngularJS -Anwendungen

Adding CSS Animations to AngularJS Applications

Kernpunkte

  • AngularJS unterstützt CSS- und JavaScript -Animationen. Es wird empfohlen, CSS -Animationen zu verwenden, da der Browser seine Priorität verringert und die Verarbeitungsfäden nicht blockiert.
  • Um Animationen in AngularJs zu verwenden, müssen Sie die Bibliothek angular-animate.js und das ngAnimate -Modul als Abhängigkeit hinzufügen. Diese Bibliothek fügt Animationsunterstützung für Anweisungen wie ng-view, ng-repeat, ng-show, ng-hide und ng-class hinzu.
  • Animation kann die Benutzererfahrung verbessern, indem Übergangseffekte verbessert, Elementänderungen hervorgehoben und die Elementanzeige gesteuert werden. Sie können mit bestimmten Klassen und Eigenschaften in CSS angewendet werden und können angepasst werden, um einzigartige Effekte zu erzielen.

AngularJS ist so konzipiert, dass sie reichhaltige Webdatenbindungsanwendungen erstellen. Animate Diese Apps sind wie Zutaten zu Ihrer Lieblingspizza hinzuzufügen. Die Animation verschönert nicht nur die Benutzeroberfläche, sondern erleichtert den Benutzern auch die Verwendung. Eine kleine Animation in einer Anwendung kann ihren Reichtum erhöhen, was in anderen Fällen schwer zu erreichen ist.

Mit der Leistung des Netzwerks gibt es jetzt viele Möglichkeiten, Animationen zu erstellen. Bis vor kurzem wurden Animationen nur über JavaScript implementiert. Aber jetzt unterstützen alle Mainstream -Browser CSS3 gut. Wir können CSS nur verwenden, um unsere Website zu animieren.

AngularJS 1.1.5 Beta -Version unterstützt die Animation. Es ging viele Änderungen durch, bevor die stabile Version des Features in AngularJS 1.2 veröffentlicht wurde. Es ist sehr einfach, Animationsunterstützung in Winkelanwendungen hinzuzufügen oder zu entfernen. Diese Bibliothek unterstützt sowohl CSS-basierte als auch JavaScript-basierte Animationen hervorragend. Obwohl Animationen in JavaScript geschrieben werden können, wird CSS -Animation empfohlen. Dies liegt daran, dass Browser die Priorität von CSS -Animationen reduzieren und die Verarbeitungsfäden nicht blockieren, wenn Threads wichtige Aktionen ausführen können.

In diesem Artikel werden wir lernen, wie man CSS-Animationen verwendet, um das Verhalten von AngularJS-integrierten Richtlinien attraktiver zu machen. Der Umfang dieses Artikels enthält keine von CSS unterstützten Animationsfunktionen. Weitere Informationen finden Sie im CSS -Kanal auf SitePoint.

Anfänger

Um Animation zu verwenden, müssen wir die angular-animate.js Bibliothek einbeziehen und das ngAnimate -Modul als Abhängigkeit im Modul wie unten gezeigt hinzufügen:

angular.module('coursesApp', ['ngAnimate']);

Diese Bibliothek fügt Animationsunterstützung für bestimmte Ereignisse in den folgenden Anweisungen hinzu:

指令 事件
ng-view enterleave
ng-include enterleave
ng-switch enterleave
ng-if enterleave
ng-repeat enterleavemove
ng-show addremove
ng-hide addremove
ng-class addremove

Diese Ereignisse werden automatisch generiert, wenn Änderungen am Anweisungszustand auftreten. Es ist zu beachten, dass diese Ereignisse nur dann generiert werden, wenn das ngAnimate -Modul als Abhängigkeit des Anwendungsmoduls übergeben wird. Wenn diese Ereignisse abgefeuert werden, fügen sie dem angewandten Element eine CSS -Klasse hinzu. Der entsprechende Name der CSS -Klasse wird in der obigen Tabelle erwähnt. Wie Sie sehen können, können wir definieren, was passiert, wenn und nach dem Ereignis auftritt.

ng-view Animation

Wenn der Benutzer von einer Ansicht zur anderen navigiert, wird die Route auf dem Client aufgelöst und ein Teil der Seite lädt neue Inhalte. Dies geschieht sehr schnell und manchmal kann der Benutzer das Gefühl haben, dass die Ansicht zu plötzlich ist. Die Animation in diesem Schritt wird den Übergang glätten.

Siehe die obige Tabelle, wir sehen, dass ng-view zwei Ereignisse ansteigern, wenn sich die Ansicht ändert. Wenden wir den folgenden Stil an, wenn sich die Ansicht ändert:

angular.module('coursesApp', ['ngAnimate']);

Das obige CSS wendet einen lockeren Übergang zu den angewandten Elementen mit einer Übergangsdauer von 1 Sekunde an. Die obigen Stile allein haben jedoch keinen Einfluss, da wir nicht angeben, welches Attribut des Elements sich während des Übergangs ändern kann. Manipulieren wir die Werte einiger CSS -Attribute:

.view-slide-in.ng-enter {
  transition: all 1s ease;
  -webkit-transition: all 1s ease;
  -moz-transition: all 1s ease;
  -o-transition: all 1s ease;

  opacity: 0.5;
  position: relative;
  opacity: 0;
  top: 10px;
  left: 20px;
}

Was wir jetzt tun müssen, ist, die view-fade -Klasse auf die ng-view -Richtlinie anzuwenden.

.view-slide-in.ng-enter {
  opacity: 0;
}
.view-slide-in.ng-enter.ng-enter-active {
  top: 0;
  left: 0;
  opacity: 1;
}
.view-slide-in.ng-leave.ng-leave-active {
  top: 5px;
  left: 5px;
  opacity: 1;
}
.view-slide-in.ng-leave {
  top: 0;
  left: 0;
  opacity: 0;
}

Wenn Sie jetzt von einer Ansicht zur anderen navigieren, können Sie den Gleiteffekt sehen. Sie können Übergänge anwenden und sogar Ihre eigene Keyframe -Animation definieren. Sie können View -Übergänge in Ihrer Demo verwenden, um ein besseres Verständnis zu erhalten.

ng-repeat Animation

Es ist fast unmöglich, in AngularJS -Anwendungen ng-repeat zu vermeiden. Am Ende verwenden wir die meisten Funktionen dieser Richtlinie, z. B. das Aktualisieren von Modellen, das Hinzufügen oder Entfernen von Elementen zu Sammlungen, die Anwendung von Sortier- und Filtern von Elementen. Während wir diese Operationen ausführen, werden die Elemente in der Richtlinie ständig bewegt und geändert.

Lassen Sie uns lineare Übergänge auf die Opazität des Elements anwenden, um die Änderungen des Projekts anzuzeigen.

<div ng-view class="view-slide-in"></div>

Wenn wir nun etwas auf der Liste tun, werden wir eine Mischung aus dem Gegenstand verblassen und den leichten Jitter -Effekt. Dieser Effekt wird durch Ändern des Wertes des Positionsattributs auf der linken Seite des Projekts in der oben erstellten ng-move -Klassungen verursacht. Wenden Sie eine zufällige Filterung und Sortierung auf die Elementliste in der Demo an und beobachten Sie das Verhalten der Elemente.

ng-hide Animation

ng-hide Animation ähnelt der ng-view -Animation. Der einzige Unterschied besteht darin, dass wir die Klassen ng-add und ng-remove anstelle von ng-enter und ng-leave anwenden müssen. Lassen Sie uns das Projekt verblassen oder herausverfolgen, wenn die ng-hide -Richtlinie es zeigt oder versteckt. Die gleiche Animation kann auf ng-show angewendet werden, indem das Ereignis invertiert wird.

.repeat-animation.ng-enter,
.repeat-animation.ng-leave,
.repeat-animation.ng-move {
  -webkit-transition: all linear 1s;
  -moz-transition: all linear 1s;
  -o-transition: all linear 1s;
  transition: all linear 1s;

  position: relative;
  left: 5px;
}
.repeat-animation.ng-enter {
  opacity: 0;
}
.repeat-animation.ng-enter.ng-enter-active {
  opacity: 1;
}
.repeat-animation.ng-leave {
  opacity: 1;
}
.repeat-animation.ng-leave.ng-leave-active {
  opacity: 0;
}
.repeat-animation.ng-move {
  left: 2px;
  opacity: 0.5;
}
.repeat-animation.ng-move.ng-move-active {
  left: 0;
  opacity: 1;
}

diese Animation in der Demo anzeigen. Das Kontrollkästchen auf der rechten Seite der ersten Seite verbirgt einige Elemente in den Duplikaten.

Schlussfolgerung

Wenn Webbrowser immer leistungsfähiger werden, erwarten unsere Kunden, dass wir diese Funktionen optimal nutzen und Qualitätsprodukte für sie liefern. Animationsunterstützung in CSS ist eine sehr beliebte Funktion. Das Schreiben und Verwenden von Animationen mit CSS ist viel einfacher als ein paar Zeilen JavaScript -Code zu schreiben, um dasselbe zu erreichen. Ich hoffe, Sie finden dieses Tutorial nützlich und freuen uns auf Ihr Feedback.

FAQs beim Hinzufügen von CSS -Animationen in AngularJS -Anwendungen

(Der FAQ-Teil wird hier weggelassen, da der Artikel zu lang ist und nicht mit dem pseudooriginalen Ziel übereinstimmt. Der Inhalt des FAQ-Teils ist dem ursprünglichen Text sehr ähnlich, und Pseudooriginal ist schwierig. Wenn Sie also den Pseudooriginal-Effekt beibehalten, wird dies

reduziert.

Das obige ist der detaillierte Inhalt vonHinzufügen von CSS -Animationen zu AngularJS -Anwendungen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Java gegen JavaScript: Ein detaillierter Vergleich für EntwicklerJava gegen JavaScript: Ein detaillierter Vergleich für EntwicklerMay 16, 2025 am 12:01 AM

JavaandjavaScriptaredistinctuGuages: JavaisusedForenterPrisandMobileApps, während JavaScriptisforinteractivewebpages.1) Javaiscompiled, statusweit, Andrunsonjvm.2) JavaScriptisinterpretierte, dynamisch und Runsinbrowserde

JavaScript -Datentypen: Gibt es einen Unterschied zwischen Browser und NodeJs?JavaScript -Datentypen: Gibt es einen Unterschied zwischen Browser und NodeJs?May 14, 2025 am 12:15 AM

JavaScript -Kerndatentypen sind in Browsern und Knoten.js konsistent, werden jedoch unterschiedlich als die zusätzlichen Typen behandelt. 1) Das globale Objekt ist ein Fenster im Browser und global in node.js. 2) Node.js 'eindeutiges Pufferobjekt, das zur Verarbeitung von Binärdaten verwendet wird. 3) Es gibt auch Unterschiede in der Leistung und Zeitverarbeitung, und der Code muss entsprechend der Umgebung angepasst werden.

JavaScript -Kommentare: Eine Anleitung zur Verwendung // und / * * /JavaScript -Kommentare: Eine Anleitung zur Verwendung // und / * * /May 13, 2025 pm 03:49 PM

JavaScriptUSESTWOTYPESOFCOMMENMENTEN: Einzelzeilen (//) und Multi-Linie (//). 1) Verwendung // Forquicknotesorsingle-Linexplanationen.2 Verwendung // ForlongerExPlanationsCompomentingingoutblocks-

Python gegen JavaScript: Eine vergleichende Analyse für EntwicklerPython gegen JavaScript: Eine vergleichende Analyse für EntwicklerMay 09, 2025 am 12:22 AM

Der Hauptunterschied zwischen Python und JavaScript sind die Typ -System- und Anwendungsszenarien. 1. Python verwendet dynamische Typen, die für wissenschaftliche Computer- und Datenanalysen geeignet sind. 2. JavaScript nimmt schwache Typen an und wird in Front-End- und Full-Stack-Entwicklung weit verbreitet. Die beiden haben ihre eigenen Vorteile bei der asynchronen Programmierung und Leistungsoptimierung und sollten bei der Auswahl gemäß den Projektanforderungen entschieden werden.

Python vs. JavaScript: Auswählen des richtigen Tools für den JobPython vs. JavaScript: Auswählen des richtigen Tools für den JobMay 08, 2025 am 12:10 AM

Ob die Auswahl von Python oder JavaScript vom Projekttyp abhängt: 1) Wählen Sie Python für Datenwissenschafts- und Automatisierungsaufgaben aus; 2) Wählen Sie JavaScript für die Entwicklung von Front-End- und Full-Stack-Entwicklung. Python ist für seine leistungsstarke Bibliothek in der Datenverarbeitung und -automatisierung bevorzugt, während JavaScript für seine Vorteile in Bezug auf Webinteraktion und Full-Stack-Entwicklung unverzichtbar ist.

Python und JavaScript: Verständnis der Stärken der einzelnenPython und JavaScript: Verständnis der Stärken der einzelnenMay 06, 2025 am 12:15 AM

Python und JavaScript haben jeweils ihre eigenen Vorteile, und die Wahl hängt von den Projektbedürfnissen und persönlichen Vorlieben ab. 1. Python ist leicht zu erlernen, mit prägnanter Syntax, die für Datenwissenschaft und Back-End-Entwicklung geeignet ist, aber eine langsame Ausführungsgeschwindigkeit hat. 2. JavaScript ist überall in der Front-End-Entwicklung und verfügt über starke asynchrone Programmierfunktionen. Node.js macht es für die Entwicklung der Vollstapel geeignet, die Syntax kann jedoch komplex und fehleranfällig sein.

JavaScripts Kern: Ist es auf C oder C aufgebaut?JavaScripts Kern: Ist es auf C oder C aufgebaut?May 05, 2025 am 12:07 AM

JavaScriptisnotbuiltoncorc; Es ist angehört, dass sich JavaScriptWasdedeSthatrunsonGineoFtencninc.

JavaScript-Anwendungen: Von Front-End bis Back-EndJavaScript-Anwendungen: Von Front-End bis Back-EndMay 04, 2025 am 12:12 AM

JavaScript kann für die Entwicklung von Front-End- und Back-End-Entwicklung verwendet werden. Das Front-End verbessert die Benutzererfahrung durch DOM-Operationen, und die Back-End-Serveraufgaben über node.js. 1. Beispiel für Front-End: Ändern Sie den Inhalt des Webseitentextes. 2. Backend Beispiel: Erstellen Sie einen Node.js -Server.

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

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

Heißer Artikel

Nordhold: Fusionssystem, erklärt
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
Mandragora: Flüstern des Hexenbaum
4 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

WebStorm-Mac-Version

WebStorm-Mac-Version

Nützliche JavaScript-Entwicklungstools

SublimeText3 Linux neue Version

SublimeText3 Linux neue Version

SublimeText3 Linux neueste Version

MinGW – Minimalistisches GNU für Windows

MinGW – Minimalistisches GNU für Windows

Dieses Projekt wird derzeit auf osdn.net/projects/mingw migriert. Sie können uns dort weiterhin folgen. MinGW: Eine native Windows-Portierung der GNU Compiler Collection (GCC), frei verteilbare Importbibliotheken und Header-Dateien zum Erstellen nativer Windows-Anwendungen, einschließlich Erweiterungen der MSVC-Laufzeit zur Unterstützung der C99-Funktionalität. Die gesamte MinGW-Software kann auf 64-Bit-Windows-Plattformen ausgeführt werden.

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)