Animation: finish-Ereignis

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2020.

Das finish-Ereignis des Animation-Interfaces wird ausgelöst, wenn die Animation endet, entweder wenn die Animation auf natürliche Weise abgeschlossen wird oder wenn die Methode Animation.finish() aufgerufen wird, um die Animation sofort zu beenden.

Hinweis: Der "paused"-Zustand übertrumpft den "finished"-Zustand; wenn die Animation sowohl pausiert als auch beendet ist, wird der "paused"-Zustand gemeldet. Sie können die Animation in den "finished"-Zustand versetzen, indem Sie ihre startTime auf document.timeline.currentTime - (Animation.currentTime * Animation.playbackRate) setzen.

Syntax

Verwenden Sie den Ereignisnamen in Methoden wie addEventListener() oder setzen Sie eine Ereignis-Handler-Eigenschaft.

js
addEventListener("finish", (event) => { })

onfinish = (event) => { }

Ereignistyp

Ereigniseigenschaften

Zusätzlich zu den unten aufgeführten Eigenschaften sind die Eigenschaften des übergeordneten Interfaces Event verfügbar.

AnimationPlaybackEvent.currentTime Schreibgeschützt

Die aktuelle Zeit der Animation, die das Ereignis erzeugt hat.

AnimationPlaybackEvent.timelineTime Schreibgeschützt

Der Zeitwert der Zeitleiste der Animation, die das Ereignis erzeugt hat.

Beispiele

Animation.onfinish wird mehrmals im Alice in Web Animations API Land Growing/Shrinking Alice Game verwendet. Hier ist ein Fall, bei dem wir Pointer-Ereignisse zurück zu einem Element hinzufügen, nachdem dessen Opazitätsanimation es eingeblendet hat:

js
// Add an animation to the game's ending credits
const endingUI = document.getElementById("ending-ui");
const bringUI = endingUI.animate(keysFade, timingFade);

// Pause said animation's credits
bringUI.pause();

// This function removes pointer events on the credits.
hide(endingUI);

// When the credits are later faded in,
// we re-add the pointer events when they're done
bringUI.onfinish = (event) => {
  endingUI.style.pointerEvents = "auto";
};

Spezifikationen

Specification
Web Animations
# dom-animation-onfinish
Web Animations
# finish-event

Browser-Kompatibilität

Siehe auch