Animation: phương thức 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.

Phương thức finish() của Animation trong Web Animations API đặt thời gian phát hiện tại về cuối của hoạt ảnh tương ứng với hướng phát lại hiện tại.

Nói cách khác, nếu hoạt ảnh đang phát xuôi, nó sẽ đặt thời gian phát bằng độ dài của chuỗi hoạt ảnh, còn nếu hoạt ảnh đang phát ngược (sau khi phương thức reverse() được gọi), nó sẽ đặt thời gian phát về 0.

Cú pháp

js
finish()

Tham số

Không có.

Giá trị trả về

Không có (undefined).

Ngoại lệ

InvalidState

Tốc độ phát của trình phát là 0, hoặc tốc độ phát của hoạt ảnh lớn hơn 0 và thời điểm kết thúc của hoạt ảnh là vô cực.

Ví dụ

Ví dụ sau cho thấy cách dùng phương thức finish() và bắt lỗi InvalidState.

js
interfaceElement.addEventListener("mousedown", () => {
  try {
    player.finish();
  } catch (e) {
    if (e instanceof InvalidState) {
      console.log("finish() called on paused or finished animation.");
    } else {
      logMyErrors(e); // Chuyển đối tượng ngoại lệ cho trình xử lý lỗi
    }
  }
});

Ví dụ sau hoàn tất tất cả hoạt ảnh trên cùng một phần tử, bất kể hướng phát của chúng.

js
elem.getAnimations().forEach((animation) => animation.finish());

Thông số kỹ thuật

Specification
Web Animations
# dom-animation-finish

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

Xem thêm