Vue-Handschrift-Ladeanimationsprojekt

Vue-Handschrift-Ladeanimationsprojekt

Wenn die Seite nicht reagiert, ist die Anzeige der Ladeanimation eine benutzerfreundliche Funktion, um einen weißen Bildschirm zu vermeiden. Die Animation wird entfernt, wenn der Antwortinhalt auf der Seite gerendert wird.

Legen Sie zuerst das Ladeeffektbild ein

Prinzip: Pseudoklasse + Animation. Unten sehen Sie ein schrittweises Diagramm, das Ihnen dabei helfen soll, es zu verstehen. Das Wesentliche beim Laden einer Animation ist, ein Quadrat mit fester Breite und Höhe und einem Rahmenradius von 50 % festzulegen, es kreisförmig zu machen, dem Div dann einen 3px breiten Rahmen zu geben und ihn transparent zu machen und dann den oberen Rahmen separat auf Weiß zu setzen. Verwenden Sie die absoluten Pseudoklassen ::before und ::after, um sie zu positionieren und dieselben Einstellungen vorzunehmen. Der Unterschied besteht darin, den verbleibenden Abstand nacheinander zu vergrößern, die Ausführungszeit der Animation zu verlängern und die Verzögerung einzustellen, sodass der Kreis mit unterschiedlicher Geschwindigkeit rotieren kann.

Vollständiger Code:

loading.vue im Komponentenordner

<Vorlage>
  <div id="loader_wrapper">
    <div id="loader"></div>
    <div class="load_title">Wird geladen, bitte warten......</div>
  </div>
</Vorlage>
<Skript>
  Standard exportieren{
      Name:"wird geladen",
  }
</Skript>
<Stilbereich>
#loader_wrapper{
  Position: fest;
  oben: 0;
  links: 0;
  Breite: 100 %;
  Höhe: 100%;
  Z-Index: 99;
  Hintergrund: rgba(0, 0, 0,.8);
  Hintergrundgröße: 100 % 100 %;
}
#loader{
  Anzeige: Block;
  Position: relativ;
  links: 50%;
  oben: 50 %;
  Breite: 300px;
  Höhe: 300px;
  /* Hintergrund: rot; */
  Rand: -150px 0 0 -150px;
  Randradius: 50 %;
  Rand: 3px durchgehend transparent;
  Farbe des oberen Rahmens: #fff;
  -Webkit-Animation: 5 Sekunden lang linear und unendlich drehen;
  -ms-Animation: 5 s drehen, linear, unendlich;
  -moz-animation: 5 s lang linear und unendlich drehen;
  -o-Animation: 5 s lang linear und unendlich drehen;
  Animation: 5 s drehen, linear, unendlich;
  Z-Index: 1001;
}
#loader:vor{
  Inhalt:"";
  Position: absolut;
  oben: 5px;
  links: 5px;
  rechts: 5px;
  unten: 5px;
  Randradius: 50 %;
  /* Hintergrund: grün; */
  Rand: 3px durchgehend transparent;
  Farbe des oberen Rahmens: #fff;
   -Webkit-Animation: Spin 8s linear unendlich;
  -ms-Animation: 8 s lang linear und unendlich drehen;
  -moz-animation: Spin 8s linear unendlich;
  -o-Animation: 8 Sekunden linear und unendlich drehen;
  Animation: 8 Sekunden lang linear und unendlich drehen;
}
#loader:nach{
  Inhalt:"";
  Position: absolut;
  oben: 15px;
  links: 15px;
  rechts: 15px;
  unten: 15px;
  Randradius: 50 %;
  /* Hintergrund: gelb; */
  Rand: 3px durchgehend transparent;
  Farbe des oberen Rahmens: #fff;
   -Webkit-Animation: Drehen 8 s linear 1 s unendlich;
  -ms-Animation: Drehen 8 s linear 1 s unendlich;
  -moz-animation: Drehen 8 s linear 1 s unendlich;
  -o-Animation: Drehen 8 s linear 1 s unendlich;
  Animation: Drehen 8 s linear 1 s unendlich;
}
@-webkit-keyframes drehen {
  0 %{
    -webkit-transform: drehen(0 Grad);
    -ms-transform:drehen(0Grad);
    transformieren: drehen (0 Grad);
  }
  100 %{
    -webkit-transform: drehen (360 Grad);
    -ms-transform:drehen(360Grad);
    transformieren: drehen (360 Grad);
  }
}
 
@keyframes drehen{
  0 %{
    -webkit-transform: drehen(0 Grad);
    -ms-transform:drehen(0Grad);
    transformieren: drehen (0 Grad);
  }
  100 %{
    -webkit-transform: drehen (360 Grad);
    -ms-transform:drehen(360Grad);
    transformieren: drehen (360 Grad);
  }
}
#loader_wrapper .load_title{
  Schriftfamilie: „Open Sans“;
  Farbe: #fff;
  Schriftgröße: .3rem;
  Breite: 100 %;
  Textausrichtung: zentriert;
  Z-Index: 9999;
  Position: absolut;
  oben: 70 %;
  Deckkraft: 1;
  Zeilenhöhe: .3rem;
}
</Stil>

Laden auf der cs.vue-Seite einführen und registrieren

cs.vue

<Vorlage>
  <div Klasse="Haupt">
    <wird geladen v-if="!initFlag"></wird geladen>
    111
  </div>
</Vorlage>
 
<Skript>
  importiere Laden aus "../components/loading"
  Standard exportieren {
    Name:"trainin",
    Daten () {
      zurückkehren {
        initFlag:false, //Anforderung zum Initialisieren globaler Daten. false bedeutet, dass die Anforderung fehlgeschlagen ist}
      
    },
    Komponenten: {
      Laden,
    }
  }
</Skript>

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Detaillierte Erläuterung der Vue-Übergangseffekte und Anwendungsbeispiele für Animationsübergänge
  • Detaillierte Erläuterung der Anwendung von Übergangsanimationseffekten in Vue
  • Vue-Lernnotizen, erweitertes Kapitel „Einzelelementübergang“
  • Vue implementiert Karussell-Animation
  • Tiefgreifendes Verständnis des Vue-Übergangs und der Animation

<<:  Tutorial zu HTML-Formular-Tags (2):

>>:  So installieren Sie Jenkins mit Docker

Artikel empfehlen

Vue implementiert einfache Kommentarfunktion

In diesem Artikel wird der spezifische Code von V...

Was ist ein MySQL-Index? Fragen Sie, wenn Sie es nicht verstehen

Inhaltsverzeichnis Überblick Vom Binärbaum zum B+...

Sicherheitseinstellungen für Windows 2016 Server

Inhaltsverzeichnis Systemupdate-Konfiguration Änd...

CSS-Implementierungscode für die Textausrichtung

Beim Erstellen von Formularen kommt es häufig vor...

jQuery realisiert den Gleiteffekt des Dropdown-Menüs

Wenn wir eine Webseite erstellen, möchten wir man...

So legen Sie den Produktionsumgebungsmodus process.env.NODE_ENV fest

Bevor ich anfange, möchte ich betonen, dass proce...

Zusammenfassung häufig verwendeter CSS-Kapselungsmethoden

1. PC-Reset Initialisierung im PC-Stil /* normali...

Vue implementiert scrollbaren Popup-Fenstereffekt

In diesem Artikel wird der spezifische Code von V...

So implementieren Sie geplante MySQL-Aufgaben unter Linux

Annahme: Die gespeicherte Prozedur wird täglich v...

So verwenden Sie Docker Compose zum Implementieren des Nginx-Lastausgleichs

Implementieren Sie den Nginx-Lastausgleich basier...

mysql erhält statistische Daten innerhalb eines bestimmten Zeitraums

mysql erhält statistische Daten innerhalb eines b...