JavaScript, um einen einheitlichen Animationseffekt zu erzielen

JavaScript, um einen einheitlichen Animationseffekt zu erzielen

In diesem Artikelbeispiel wird der spezifische Code zur Implementierung einer Animation mit gleichmäßiger Geschwindigkeit in JavaScript zu Ihrer Information bereitgestellt. Der spezifische Inhalt ist wie folgt

Umsetzungsideen:

1. Verwenden Sie hauptsächlich die Timing-Funktion setInterval (), um Animationseffekte zu erzielen
2. Sie können die Animation in eine Funktion kapseln, sodass sie von mehreren Elementen aufgerufen werden kann, ohne sie wiederholt schreiben zu müssen
3. Die Animationsfunktion empfängt Parameter - Elementobjekt, Zielversatz, Rückruffunktion. ① Fügen Sie der Funktion eine Zeitfunktion hinzu, geben Sie der Zeitfunktion einen Namen und verwenden Sie den Zeitfunktionsnamen, um die Zeitfunktion später zu löschen. ② Verarbeitungsprogramm in der Zeitfunktion:
a. Geben Sie einen festen Schrittbewegungswert an und legen Sie den Versatz des Elementobjekts so fest, dass er sich mit gleichmäßiger Geschwindigkeit ändert – z. B.: obj.style.left = obj.offsetLeft + 5 + 'px';
b. Bestimmen Sie, ob der Offset den Zielwert erreicht, und stoppen Sie in diesem Fall die Animation - - -
Intervall löschen(Objekt.Timer);
Wenn die Animation stoppt, bestimmen Sie, ob eine Rückruffunktion vorhanden ist, und führen Sie die Rückruffunktion aus, wenn eine vorhanden ist
4. Fügen Sie vor der Animationsfunktion eine Löschtimerfunktion hinzu, um den vorherigen Animationseffekt zu löschen - - -clearInterval(obj.timer);
Manchmal muss man auf eine Schaltfläche klicken, um eine Animation auszulösen. Wenn Sie keine Löschschaltfläche hinzufügen, wird der Animationseffekt überlagert und wird immer schneller, wenn Sie wiederholt auf die Schaltfläche klicken.
5. Sie können die Animationsfunktion auch als Referenz in eine JS-Datei kapseln

Tipp: Das Obige ist nur eine Methode. Je nach Bedarf können verschiedene Animationseffekte angepasst werden.

Codebeispiel:

<!DOCTYPE html>
<html lang="de">

<Kopf>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-kompatibel" content="IE=edge">
    <meta name="viewport" content="width=Gerätebreite, Anfangsmaßstab=1.0">
    <title>Einheitliche Animation</title>
    <Stil>
        .Kasten {
            Position: relativ;
            Breite: 1000px;
            Rand oben: 20px;
        }
        
        .xiaohuli {
            Position: absolut;
            oben: 0;
            links: 0;
            Breite: 150px;
            Höhe: 150px;
        }
        
        .pikaqiu {
            Position: absolut;
            oben: 150px;
            links: 0;
            Breite: 200px;
            Höhe: 150px;
        }
    </Stil>
</Kopf>

<Text>
    <button class="btn1">Klicken Sie, um den kleinen Fuchs zu bewegen</button>
    <button class="btn2">Klicken, um Pikachu zu bewegen</button>
    <div Klasse="Box">
        <img src="images/kleiner Fuchs.jpg" alt="" class="xiaohuli">
        <img src="images/Pikachu.jpg" alt="" class="pikaqiu">
    </div>
    <Skript>
        var btn1 = document.querySelector('.btn1');
        var btn2 = document.querySelector('.btn2');
        var xiaohuli = document.querySelector('.xiaohuli');
        var pikaqiu = document.querySelector('.pikaqiu');

        btn1.addEventListener('klicken', function() {
            beleben (Xiaohuli, 300);
        })

        btn2.addEventListener('klicken', function() {
            beleben (Pikaqiu, 450);
        })

        // Animationsfunktion obj Animationsobjekt, Ziel Ziel linker Offset, Rückruf Rückruffunktion Funktion animieren(obj, Ziel, Rückruf) {
            Intervall löschen(Objekt.Timer);
            obj.timer = setzeIntervall(Funktion() {

                obj.style.left = obj.offsetLeft + 5 + 'px';

                wenn (Objekt.OffsetLeft >= Ziel) {
                    // Animation stoppen clearInterval(obj.timer);
                    // Wenn eine Rückruffunktion vorhanden ist, führen Sie die Rückruffunktion aus, wenn (Rückruf) {
                        Rückruf();
                    }
                }


            }, 30);
        }
    </Skript>
</body>

</html>

Seiteneffekt:

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:
  • Codebeispiele für JS-Div-Bewegungsanimationen mit gleichmäßiger Geschwindigkeit und Bewegungsanimationen mit variabler Geschwindigkeit
  • JS implementiert ein Beispiel für die Kapselung von einheitlichen und Zeitlupen-Animationseffekten
  • Detaillierte Erklärung der Offset- und Uniform-Animation in JS
  • Detaillierte Erläuterung der einheitlichen Javascript-Animation und der Pufferanimation
  • Natives JS für eine einheitliche Bildkarussell-Animation
  • Natives Javascript realisiert einen einheitlichen Bewegungsanimationseffekt

<<:  Verwendung von MySQL DDL-Anweisungen

>>:  Erstellen und Verwenden von Docker-Datenvolumencontainern

Artikel empfehlen

Eine kurze Analyse der MySQL-Kardinalitätsstatistiken

1. Was ist die Kardinalität? Mit Kardinalität wir...

Implementierung einer kreisförmigen CSS-Aushöhlung (Gutschein-Hintergrundbild)

In diesem Artikel werden hauptsächlich kreisförmi...

IE6 implementiert min-width

Zunächst einmal wissen wir, dass dieser Effekt ei...

Optimierte Implementierung von count() für große MySQL-Tabellen

Das Folgende ist mein Urteil basierend auf der Da...

jQuery-Plugin zur Implementierung des Dashboards

Das jQuery-Plug-In implementiert das Dashboard zu...

Vue imitiert den Formularbeispielcode von ElementUI

Implementierungsanforderungen Das ElementUI imiti...

Eine kurze Beschreibung der Beziehung zwischen k8s und Docker

In letzter Zeit verwendet das Projekt Kubernetes ...