Heim Web-Frontend js-Tutorial Code zum Implementieren einiger Animationseffekte in AngularJS-Anwendungen_AngularJS

Code zum Implementieren einiger Animationseffekte in AngularJS-Anwendungen_AngularJS

May 16, 2016 pm 03:54 PM
angularjs

In Angular besteht der einzige Unterschied zwischen CSS und JavaScript in ihrer Definition. Es gibt keinen Unterschied, der die Verwendung der definierten Animation verhindert. Zuerst müssen wir das ngAnimate-Modul in das Root-Modul unserer Anwendung laden.

angular.module('coursesApp', ['ngAnimate']);
Nach dem Login kopieren

Alle verarbeiteten JavaScript-Animationsereignisse bleiben unverändert. Im Folgenden finden Sie eine Liste direkt unterstützter Animationen und ihrer entsprechenden unterschiedlichen Verhaltensweisen:

Befehlsereignissatz

  • ng-view
  • ng-include
  • ng-switch
  • ng-if enter
  • gehen
  • ng-repeat enter
  • gehen
  • bewegen
  • ng-show
  • ng-hide
  • ng-class add
  • entfernen

Die obige Liste ist dieselbe wie im vorherigen Artikel, die entsprechenden CSS-Klassen werden jedoch nicht erwähnt, da wir sie nicht zum Definieren von JavaScript-Animationen benötigen. Alle diese Ereignisse werden erst generiert, nachdem das Anwendungsmodul das ngAnimate-Modul geladen hat. Schauen wir uns nun an, wie diese Befehle funktionieren.
Syntax zum Anpassen von Angular-Animationen

Das Folgende ist ein grundlegendes Framework für benutzerdefinierte JavaScript-Animationen:


angular.module('coursesApp').animation('.name-of-animation', function(<injectables>) {
 return {
 event: function(elem, done){
  //logic of animation
  done();
 }
 };
});
Nach dem Login kopieren

Hier sind einige wichtige Punkte, die Sie beim Schreiben von JavaScript-Animationen in AngularJS beachten sollten:

  • Der Name der Animation beginnt mit einem Punkt (.)
  • Alle Animationsverhalten akzeptieren zwei Parameter:
  • Ein Objekt im aktuellen DOM-Element, das animiert werden soll, ist entweder ein jQlite-Objekt, das geladen wurde, bevor jQuery es vor AngularJS geladen hat, oder ein jQuery-Objekt.
  • Eine Rückruffunktion, wenn die Animation endet. Die der Anweisung entsprechende Aktion wird ausgesetzt, bis die Callback-Funktion aufgerufen wird.

Wir verfügen über mehrere JavaScript-Bibliotheken wie jQuery, Greensock, Anima und mehrere andere, die das Schreiben von Animationen vereinfachen. Der Einfachheit halber verwende ich in diesem Beitrag jQuery zum Erstellen von Animationen. Um mehr über mehrere andere Bibliotheken zu erfahren, können Sie deren entsprechende Websites besuchen.

NG-View bewegen lassen

Eine Animation, die für eine ng-view-Direktive verwendet wird, wird beim Wechseln der Ansichten in einer AngularJS-Anwendung ausgeführt.

Der folgende visuelle Effekt wird durch die Animation verursacht, wenn eine Ansicht angezeigt wird:

courseAppAnimations.animation('.view-slide-in', function () {
 return {
 enter: function(element, done) {
  element.css({
  opacity: 0.5,
  position: "relative",
  top: "10px",
  left: "20px"
  })
  .animate({
  top: 0,
  left: 0,
  opacity: 1
  }, 1000, done);
 }
 };
});
Nach dem Login kopieren

Das Obige erzeugt einen Slide-In-Effekt, wenn eine Ansicht auf den Bildschirm gelangt. Die Methode done wird als Callback-Funktion übergeben. Dies soll anzeigen, dass die Animation beendet ist und das AngularJS-Framework nun mit der nächsten Aktion fortfahren kann.

Beachten Sie die Methode, in der die animate()-Methode aufgerufen wird. Wir müssen dieses Element nicht in ein jQuery-Objekt konvertieren, da jQuery vor dem Laden von AngularJS geladen wird.

Jetzt müssen wir diesen Animationseffekt auf die ng-view-Direktive anwenden. Obwohl die Animation in JavaScript definiert ist, verwenden wir konventionsgemäß ein Klassen-Tag, um sie auf die Zielanweisung anzuwenden.

<div ng-view class="view-slide-in"></div>
Nach dem Login kopieren

NG-Repeat-Animation
Unter den Anweisungen, die Sie verwenden können, ist ng-repeat eine sehr wichtige Anweisung. Es gibt zwei grundlegende Bedienungsanweisungen: Filtern und Sortieren. Fügen Sie entsprechende Anweisungen basierend auf dem durchgeführten Vorgang hinzu, verschieben oder entfernen Sie sie.
In der folgenden Demonstration werden einige grundlegende Animationen verwendet. Wenn Änderungen auftreten, können Sie die entsprechenden Animationseffekte sehen.

courseAppAnimations.animation('.repeat-animation', function () {
 return {
 enter : function(element, done) {
  console.log("entering...");
  var width = element.width();
  element.css({
  position: 'relative',
  left: -10,
  opacity: 0
  });
  element.animate({
  left: 0,
  opacity: 1
  }, done);
 },
 leave : function(element, done) {
  element.css({
  position: 'relative',
  left: 0,
  opacity: 1
  });
  element.animate({
  left: -10,
  opacity: 0
  }, done);
 },
 move : function(element, done) {
  element.css({
  left: "2px",
  opacity: 0.5
  });
  element.animate({
  left: "0px",
  opacity: 1
  }, done);
 }
 };
});
Nach dem Login kopieren


Ng-hide-Animation

Die ng-hide-Direktive wird verwendet, um die ng-hide-Stilklasse des Zielelements hinzuzufügen oder zu entfernen. Um eine Animation verwenden zu können, müssen wir häufig CSS-Stile hinzufügen oder entfernen. Übergeben Sie den Klassennamen an die Animationsklasse, um diesen Effekt zu erzielen. Dadurch können wir die Klasse untersuchen und entsprechende Änderungen am Code vornehmen.

Das Folgende ist ein Beispielcode für eine Animation, der die ng-hide-Direktive verwendet, um den Ausblendeffekt von Elementen zu erzielen:

courseAppAnimations.animation('.hide-animation', function () {
 return {
 beforeAddClass : function(element, className, done) {
  if (className === 'ng-hide') {
  element.animate({
   opacity: 0
  },500, done);
  } else {
  done();
  }
 },
 removeClass : function(element, className, done) {
  if (className === 'ng-hide') {
  element.css('opacity',0);
  element.animate({
   opacity: 1
  }, 500, done);
  } else {
  done();
  }
 }
 };
});
Nach dem Login kopieren


Lassen Sie benutzerdefinierte Befehle ins Spiel kommen

Um benutzerdefinierte Anweisungen zu animieren, müssen wir den $animate-Dienst verwenden. Obwohl der $animate-Dienst Teil des Kernframeworks von AngularJS ist, muss ngAnimate geladen werden, damit dieser Dienst seine volle Rolle spielen kann.

Anhand des gleichen Beispiels aus dem vorherigen Artikel präsentieren wir eine einseitige Kursliste. Wir erstellen einen Befehl, um die Details des Kurses in einem Raster anzuzeigen. Der Inhalt des Rasters ändert sich, wenn auf den Link „Statistik anzeigen“ geklickt wird. Fügen wir eine Animation hinzu, um dem Benutzer diesen Übergang zu präsentieren.

Wenn die Übergangsanimation beginnt, fügen wir ein CSS-Klassen-Tag hinzu und wenn sie endet, entfernen wir das Klassen-Tag. Hier ist ein Beispielcode für diese Direktive:

app.directive('courseDetails', function ($animate) {
  return {
  scope: true,
  templateUrl: 'courseDetails.html',
  link: function (scope, elem, attrs) {
   scope.viewDetails = true;
   elem.find('button').bind('click', function () {
   $animate.addClass(elem, "switching", function () {
    elem.removeClass("switching");
    scope.viewDetails =! scope.viewDetails;
    scope.$apply();
  });
  });
 }
 };
});
Nach dem Login kopieren


正如你所看到的,我们在动画结束时执行这个动作。在浏览器的开发者工具中,我们会在查看指令元素时发现switching-active和switching-add这两个类标记正被很快的添加随后被移除。我们可以通过定义一个CSS转换样式或者一个自定义的JavaScript动画来查看动画的效果。以下就是一个简单地CSS转换样式,可以被用于上面提到的指令,为了简洁性我们移去了特定的前缀:


.det-anim.switching {
 transition: all 1s linear;
 position: relative;
 opacity: 0.5;
 left: -20px;
}
Nach dem Login kopieren

又或者,这里有一个jQuery写的动画,可以用于同样的指令:

courseAppAnimations.animation('.js-anim', function () {
 return {
 beforeAddClass: function(element, className, done) {
  if (className === 'switching') {
  element.animate({
   opacity: 0
  },1000, function (){
   element.css({
   opacity: 1
   });
   done();
  });
  }
  else {
  done();
  }
 }
 }
});
Nach dem Login kopieren

这些动画当中,如果它可以应用于内建的指令上,它同样也可以被应用到自定义的指令上:

<div course-details 
  class="det-anim"
  title="{{course.title}}">
</div>
Nach dem Login kopieren

你可以在示例页面看到以上所有的动画运行时的效果。
 
结论

动画,当被适合并正常的运用时,将给应用程序带来生气。正如我们所看到的,AngularJS对CSS和JavaScript动画都提供各种支持。你可以根据团队的情况来挑选其中一种。

但是,使用太多的动画将会使得应用程序变得缓慢,而对于用户来,这将使应用程序看起来i不够人性化。所以,必须小心并最优化的使用这件利器。

Erklärung dieser Website
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

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

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Die neuesten 5 AngularJS-Tutorials im Jahr 2022, vom Einstieg bis zur Beherrschung Die neuesten 5 AngularJS-Tutorials im Jahr 2022, vom Einstieg bis zur Beherrschung Jun 15, 2017 pm 05:50 PM

Javascript ist eine sehr einzigartige Sprache, was die Organisation des Codes, das Programmierparadigma des Codes und die objektorientierte Theorie betrifft. Die Frage, ob Javascript eine objektorientierte Sprache ist, wird seit langem diskutiert Es gibt offensichtlich schon seit langem eine Antwort. Auch wenn Javascript seit zwanzig Jahren vorherrscht, schauen Sie sich einfach das „Black Horse Cloud Classroom JavaScript Advanced Framework“ an, wenn Sie beliebte Frameworks wie jQuery, Angularjs und sogar React verstehen möchten Design-Video-Tutorial“.

Verwenden Sie PHP und AngularJS, um eine reaktionsfähige Website zu erstellen und ein hochwertiges Benutzererlebnis zu bieten Verwenden Sie PHP und AngularJS, um eine reaktionsfähige Website zu erstellen und ein hochwertiges Benutzererlebnis zu bieten Jun 27, 2023 pm 07:37 PM

Im heutigen Informationszeitalter sind Websites zu einem wichtigen Instrument für Menschen geworden, um Informationen zu erhalten und zu kommunizieren. Eine responsive Website kann sich an verschiedene Geräte anpassen und den Benutzern ein qualitativ hochwertiges Erlebnis bieten, was zu einem Hotspot in der modernen Website-Entwicklung geworden ist. In diesem Artikel erfahren Sie, wie Sie mit PHP und AngularJS eine responsive Website erstellen, um ein qualitativ hochwertiges Benutzererlebnis zu bieten. Einführung in PHP PHP ist eine serverseitige Open-Source-Programmiersprache, die sich ideal für die Webentwicklung eignet. PHP bietet viele Vorteile, z. B. einfache Erlernbarkeit, plattformübergreifende Funktionalität, umfangreiche Toolbibliothek und Entwicklungseffizienz

Erstellen Sie Webanwendungen mit PHP und AngularJS Erstellen Sie Webanwendungen mit PHP und AngularJS May 27, 2023 pm 08:10 PM

Mit der kontinuierlichen Entwicklung des Internets sind Webanwendungen zu einem wichtigen Bestandteil des Informationsaufbaus in Unternehmen und zu einem notwendigen Mittel für Modernisierungsarbeiten geworden. Um die Entwicklung, Wartung und Erweiterung von Webanwendungen zu vereinfachen, müssen Entwickler ein technisches Framework und eine Programmiersprache wählen, die ihren Entwicklungsanforderungen entspricht. PHP und AngularJS sind zwei sehr beliebte Webentwicklungstechnologien. Sie sind serverseitige bzw. clientseitige Lösungen und können die Entwicklungseffizienz und das Benutzererlebnis von Webanwendungen erheblich verbessern. Vorteile von PHPPHP

Erstellen Sie eine einseitige Webanwendung mit Flask und AngularJS Erstellen Sie eine einseitige Webanwendung mit Flask und AngularJS Jun 17, 2023 am 08:49 AM

Mit der rasanten Entwicklung der Webtechnologie ist die Single Page Web Application (SinglePage Application, SPA) zu einem immer beliebter werdenden Webanwendungsmodell geworden. Im Vergleich zu herkömmlichen mehrseitigen Webanwendungen besteht der größte Vorteil von SPA darin, dass die Benutzererfahrung reibungsloser ist und auch der Rechendruck auf dem Server erheblich reduziert wird. In diesem Artikel stellen wir vor, wie man mit Flask und AngularJS ein einfaches SPA erstellt. Flask ist ein leichter Py

Wie verwende ich AngularJS in der PHP-Programmierung? Wie verwende ich AngularJS in der PHP-Programmierung? Jun 12, 2023 am 09:40 AM

Mit der Popularität von Webanwendungen erfreut sich das Frontend-Framework AngularJS immer größerer Beliebtheit. AngularJS ist ein von Google entwickeltes JavaScript-Framework, das Sie beim Erstellen von Webanwendungen mit dynamischen Webanwendungsfunktionen unterstützt. Andererseits ist PHP für die Backend-Programmierung eine sehr beliebte Programmiersprache. Wenn Sie PHP für die serverseitige Programmierung verwenden, bringt die Verwendung von PHP mit AngularJS dynamischere Effekte auf Ihre Website.

Verwenden Sie PHP und AngularJS, um eine Online-Dateiverwaltungsplattform zu entwickeln, die die Dateiverwaltung erleichtert Verwenden Sie PHP und AngularJS, um eine Online-Dateiverwaltungsplattform zu entwickeln, die die Dateiverwaltung erleichtert Jun 27, 2023 pm 01:34 PM

Mit der Popularität des Internets nutzen immer mehr Menschen das Netzwerk, um Dateien zu übertragen und zu teilen. Aus verschiedenen Gründen kann die Verwendung herkömmlicher FTP- und anderer Methoden zur Dateiverwaltung jedoch nicht den Anforderungen moderner Benutzer gerecht werden. Daher ist die Einrichtung einer benutzerfreundlichen, effizienten und sicheren Online-Dateiverwaltungsplattform zu einem Trend geworden. Die in diesem Artikel vorgestellte Online-Dateiverwaltungsplattform basiert auf PHP und AngularJS. Sie kann problemlos Dateien hochladen, herunterladen, bearbeiten, löschen und andere Vorgänge ausführen und bietet eine Reihe leistungsstarker Funktionen wie Dateifreigabe, Suche,

Einführung in die Grundlagen von AngularJS Einführung in die Grundlagen von AngularJS Apr 21, 2018 am 10:37 AM

Der Inhalt dieses Artikels befasst sich mit der grundlegenden Einführung in AngularJS. Jetzt kann ich ihn mit Ihnen teilen.

So verwenden Sie PHP und AngularJS für die Frontend-Entwicklung So verwenden Sie PHP und AngularJS für die Frontend-Entwicklung May 11, 2023 pm 05:18 PM

Mit der Popularität und Entwicklung des Internets wird die Front-End-Entwicklung immer wichtiger. Als Frontend-Entwickler müssen wir verschiedene Entwicklungstools und -technologien verstehen und beherrschen. Unter ihnen sind PHP und AngularJS zwei sehr nützliche und beliebte Tools. In diesem Artikel erklären wir, wie Sie diese beiden Tools für die Frontend-Entwicklung verwenden. 1. Einführung in PHP PHP ist eine beliebte serverseitige Open-Source-Skriptsprache. Sie eignet sich für die Webentwicklung und kann auf Webservern und verschiedenen Betriebssystemen ausgeführt werden. Die Vorteile von PHP sind Einfachheit, Geschwindigkeit und Komfort

See all articles