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

Zusammenfassung gängiger Toolbeispiele in MySQL (empfohlen)

Vorwort Dieser Artikel stellt hauptsächlich die r...

Was sind die Unterschiede zwischen var let const in JavaScript

Inhaltsverzeichnis 1. Wiederholte Erklärung 1,1 v...

JS ES: Neue Funktion zur variablen Entkopplungszuweisung

Inhaltsverzeichnis 1. Entkoppelte Zuweisung von A...

Zusammenfassung der Erfahrungen beim Website-Erstellen

<br />Welche Grundsätze sollten beachtet wer...

MySQL implementiert eine Lösung ähnlich der Oracle-Sequenz

MySQL implementiert Oracle-ähnliche Sequenzen Ora...

So installieren Sie RabbitMQ schnell in Docker

1. Holen Sie sich das Bild #Geben Sie die Version...

Zwei Möglichkeiten zur Visualisierung von ClickHouse-Daten mit Apache Superset

Apache Superset ist ein leistungsstarkes BI-Tool,...

Native JS-Drag-and-Drop-Funktion zum Erstellen eines Slider-Beispielcodes

Drag & Drop ist eine gängige Funktion im Fron...

Schnelles Verständnis des Vue-Routing-Navigationsschutzes

Inhaltsverzeichnis 1. Globale Wache 1. Globale Fr...

So konfigurieren Sie Nginx's Anti-Hotlinking

Experimentelle Umgebung • Eine minimal installier...