Animation: sự kiện finish

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.

Sự kiện finish của Animation được kích hoạt khi hoạt ảnh phát xong, hoặc khi hoạt ảnh hoàn tất một cách tự nhiên, hoặc khi phương thức Animation.finish() được gọi để làm cho hoạt ảnh kết thúc ngay lập tức.

Note: Trạng thái phát "paused" có ưu tiên cao hơn trạng thái "finished"; nếu hoạt ảnh vừa tạm dừng vừa hoàn tất, trạng thái "paused" là trạng thái sẽ được báo cáo. Bạn có thể ép hoạt ảnh vào trạng thái "finished" bằng cách đặt startTime của nó thành document.timeline.currentTime - (Animation.currentTime * Animation.playbackRate).

Cú pháp

Dùng tên sự kiện trong các phương thức như addEventListener(), hoặc đặt thuộc tính trình xử lý sự kiện.

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

onfinish = (event) => { }

Kiểu sự kiện

Một AnimationPlaybackEvent. Kế thừa từ Event.

Event AnimationPlaybackEvent

Thuộc tính sự kiện

Ngoài các thuộc tính được liệt kê bên dưới, các thuộc tính từ giao diện cha Event cũng có sẵn.

AnimationPlaybackEvent.currentTime Read only

Thời gian hiện tại của hoạt ảnh đã tạo ra sự kiện.

AnimationPlaybackEvent.timelineTime Read only

Giá trị thời gian của timeline của hoạt ảnh đã tạo ra sự kiện.

Ví dụ

Animation.onfinish được dùng nhiều lần trong game Growing/Shrinking Alice Game trong Alice in Web Animations API Land. Đây là một ví dụ khi chúng ta thêm lại pointer events vào một phần tử sau khi hoạt ảnh độ mờ của nó làm nó hiện ra:

js
// Thêm một hoạt ảnh vào phần credit kết thúc của trò chơi
const endingUI = document.getElementById("ending-ui");
const bringUI = endingUI.animate(keysFade, timingFade);

// Tạm dừng hoạt ảnh đó
bringUI.pause();

// Hàm này xóa pointer events khỏi phần credit.
hide(endingUI);

// Khi phần credit được làm hiện lại sau đó,
// chúng ta thêm lại pointer events khi chúng hoàn tất
bringUI.onfinish = (event) => {
  endingUI.style.pointerEvents = "auto";
};

Thông số kỹ thuật

Thông số kỹ thuật
Web Animations
# dom-animation-onfinish
Web Animations
# finish-event

Tương thích trình duyệt

Xem thêm