Ergebnisse auf einen Blick HerzeffektMaterialien: Zwei Herzsymbole. Wenn es keine Symbolkomponente wie bei mir gibt, verwenden Sie stattdessen ein PNG-Bild. <transition :name="isLike ? 'zoom' : '' " mode="raus-ein"> <!-- Herz-Symbol--> <icon data="@icon/like.svg" color="#FF0000" v-if="isLike" key="like"></icon> <icon data="@icon/unlike.svg" color="#333333" v-else key="unlike"></icon> </Übergang> Weil es eine Animation gibt, wenn Sie einen Button mit „Gefällt mir“ markieren, aber keine Animation, wenn Sie einen Button mit „Gefällt mir“ markieren, muss sich das Attribut „Name“ des Übergangs entsprechend der Variable „isLike“ ändern. Wenn Beachten Sie, dass Sie, wenn die Namen der beiden Schaltkomponenten gleich sind, das Schlüsselattribut hinzufügen müssen, um die beiden Komponenten zu unterscheiden. Andernfalls wird die Animation nicht wirksam. Als nächstes schreiben Sie CSS /** Die Klasse der laufenden Animation **/ .zoom-enter-active, .zoom-leave-active { Übergang: alle .15s kubisch-bezier (0,42, 0, 0,34, 1,55); } /** Legen Sie den Startzustand des Eintrags und den Endzustand des Austritts fest. Beide werden auf 0 skaliert. **/ .zoom-enter, .zoom-leave-to { transformieren: Skalierung(0); } /** Setzt den Eintrags-Endstatus und den Austritts-Startstatus, beide werden auf 1 skaliert **/ .zoom-enter-to, .zoom-leave { transformieren: Skalierung(1); } Laut der offiziellen Dokumentation werden .name-enter-active und .name-leave-active während der Animation auf die Klasse der Symbolkomponente gesetzt, daher legen wir hier die Animationseigenschaften, Zeit und Kurve des Übergangs fest. Da wir das Bild beim Vergrößern etwas größer als Öffnen Sie das Chrome-Debug-Panel, suchen Sie ein DOM und legen Sie die Übergangszeitfunktion „Ease“ fest. Klicken Sie dann auf das kleine Kurvensymbol neben „Ease“. Ziehen Sie die Zugleiste, um die Kurve anzupassen Lassen Sie die Kurve am Ende der Animation einfach über den Endpunkt hinaus verlängern. Kopieren Sie dann den Wert Auf die Animationszeitkurven werde ich hier nicht näher eingehen, da es im Internet bereits viel Wissenswertes dazu gibt. Was den Zoom-Teil betrifft, wird gemäß den obigen CSS-Einstellungen und
Wenn Sie ein „Gefällt mir“ abbrechen, ist Digitale Scroll-AnimationDa es sich lediglich um eine Zahlenänderung handelt, ist beim Übergang nur ein Div erforderlich. Achten Sie einfach darauf, den Schlüssel des Div festzulegen, um die Datenänderung anzuzeigen. <div Klasse="wie-num-wrapper"> <transition :name="item.is_like ? 'plus' : 'minus'"> <div Klasse="like-num" :style="{color: item['is_like'] ? 'red': '#333'}" :Schlüssel="Artikel['like_num']" > {{item['like_num']}} </div> </Übergang> </div> .wie-num-wrapper { Position: relativ; Rand links: 16px; Textausrichtung: Ende; Schriftgröße: 13px; Höhe: 17px; Überlauf-y: versteckt; .like-num { oben: 0; links: 0; Position: relativ; Zeilenhöhe: 17px; } } Beachten Sie, dass wir die Höhe der Zahl auf // Wie Nummer +1 animation.plus-enter-active, .plus-leave-active { Übergang: alle 0,3 s Einschwingen; } .plus-Eingabe, .plus-Verlassen { transformieren: übersetzenY(0); } .plus-eintreten-zu, .plus-verlassen-zu { transformieren: übersetzenY(-17px); } // Wie Nummer -1 animation.minus-enter-active, .minus-leave-active { Übergang: alle 0,3 s Einschwingen; } .minus-Eingabetaste { transformieren: übersetzenY(-34px); } .minus-enter-to { transformieren: übersetzenY(-17px); } .minus-verlassen { transformieren: übersetzenY(0); } .minus-verlassen-zu { transformieren: übersetzenY(17px); } Wie AnimationDie „Gefällt mir“-Animation ist sehr einfach. Wenn Sie auf die „Gefällt mir“-Schaltfläche klicken, wird unter dem alten digitalen Div ein neues digitales Div generiert. Verschieben Sie sie an diesem Punkt einfach alle um 17 Pixel nach oben. Da beim Abbrechen eines „Gefällt mir“ die Zahlen von oben nach unten scrollen, muss die Startposition der Zahl 1 über 2 liegen. Schreiben Sie also den folgenden Code, um die Anfangsposition der Animation der Nummer 1 festzulegen .minus-Eingabetaste { transformieren: übersetzenY(-34px); } Warum -34px? Da die Höhe des digitalen Divs 17 Pixel beträgt, überlappt es sich mit 2, wenn es um 17 Pixel nach oben verschoben wird. Wenn die Zahl 1 dann um weitere 17 Pixel nach oben verschoben wird, erscheint sie über 2. Als nächstes können Sie durch Verschieben auf -17px in Die Exit-Animation von Nummer 2 ist viel einfacher. Sie kann einfach von 0 bis 17 Pixel ausgerollt werden. An diesem Punkt ist der gesamte Like-Effekt abgeschlossen Oben sind die Einzelheiten des Beispiels für die Verwendung von Vue-Übergängen zum Erzielen eines ähnlichen Animationseffekts aufgeführt. Weitere Informationen zur Verwendung von Vue-Übergängen zum Erzielen eines ähnlichen Effekts finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM! Das könnte Sie auch interessieren:
|
<<: Richtige Schritte zur Installation von Nginx unter Linux
>>: Analyse der Fallstricke beim Rundungsvorgang der ROUND-Funktion in MySQL
Der Linux-Befehl zum Ausführen des JAR-Pakets lau...
In diesem Artikel wird der spezifische Code für j...
mysqlbinlog-Version anzeigen mysqlbinlog -V [--ve...
Inhaltsverzeichnis 1. Installation 2. Es gibt kei...
Dieser Artikel veranschaulicht anhand von Beispie...
emmm, der Name ist nur eine zufällige Vermutung 2...
In diesem Artikel wird erläutert, wie Sie einen I...
Inhaltsverzeichnis Einführung Beispiel: Ereignisd...
Funktionen von SSHFS: Basierend auf FUSE (dem bes...
Wir müssen zunächst die Luftqualitätsdaten mit de...
Inhaltsverzeichnis Übergeordnete Komponente kommu...
In diesem Artikelbeispiel wird der spezifische Co...
Wenn es um den Verzeichniswechsel unter Linux geh...
Vorwort: Das am häufigsten verwendete logische My...
Vorwort: Manchmal wird die mit MySQL verbundene S...