Cải tiến tính năng Ảnh động trên web trong Chrome 50

Alex Danilo

Web Animations API (API Ảnh động trên web), lần đầu xuất hiện trong Chrome 36, cung cấp khả năng kiểm soát JavaScript thuận tiện đối với các ảnh động trong trình duyệt và cũng đang được triển khai trong Gecko và WebM.

Chrome 50 giới thiệu một số thay đổi để cải thiện khả năng tương tác với các trình duyệt khác và tuân thủ các thông số kỹ thuật nhiều hơn. Những thay đổi sau đây là:

  • Huỷ sự kiện
  • Animation.id
  • Thay đổi trạng thái của phương thức pause()
  • Ngừng sử dụng tên nét đứt làm khoá trong khung hình chính

Trong Chrome 51, một số thay đổi sau sẽ được hoàn tất:

  • Xoá tên nét đứt làm khoá trong khung hình chính

Huỷ sự kiện

Giao diện Ảnh động bao gồm một phương thức để huỷ ảnh động, đủ hài hước được gọi là cancel(). Chrome 50 triển khai việc kích hoạt sự kiện huỷ khi phương thức này được gọi theo thông số kỹ thuật. Điều này sẽ kích hoạt quá trình xử lý sự kiện thông qua thuộc tính oncancel nếu nó được khởi động.

Hỗ trợ Animation.id

Khi tạo ảnh động bằng element.animate(), bạn có thể truyền một số thuộc tính. Ví dụ: dưới đây là ví dụ về ảnh động về độ mờ trên một đối tượng:

element.animate([ { opacity: 1 }, { opacity: 0 } ], 500);

Bằng cách chỉ định thuộc tính id, thuộc tính này sẽ được đặt trên đối tượng Ảnh động được trả về. Việc này có thể hữu ích khi gỡ lỗi nội dung của bạn khi bạn có nhiều đối tượng Ảnh động cần xử lý. Sau đây là ví dụ về cách bạn chỉ định id cho một ảnh động mà bạn tạo thực thể:

element.animate([{opacity: 1}, {opacity: 0}], {duration: 500, id: "foo"});

Thay đổi trạng thái của phương thức Pause()

Phương thức pause() được dùng để tạm dừng một ảnh động đang diễn ra. Nếu bạn kiểm tra trạng thái của ảnh động bằng thuộc tính playState, thì nó phải được đặt thành paused sau khi gọi phương thức paused(). Trong các phiên bản Chrome trước phiên bản 50, thuộc tính playState sẽ cho biết idle nếu ảnh động chưa bắt đầu. Tuy nhiên, hiện tại, thuộc tính này phản ánh đúng trạng thái, tức là paused.

Xoá tên nét đứt làm khoá trong khung hình chính

Để tuân thủ thêm thông số kỹ thuật và các phương thức triển khai khác, Chrome 50 sẽ gửi cảnh báo đến bảng điều khiển nếu tên nét đứt được sử dụng cho các khoá trong ảnh động của khung hình chính. Các chuỗi chính xác cần sử dụng là tên CamelCase theo thuộc tính CSS đối với thuộc tính IDL thuật toán chuyển đổi.

Ví dụ: thuộc tính CSS margin-left yêu cầu bạn chuyển vào marginLeft dưới dạng khoá.

Chrome 51 hoàn toàn ngừng hỗ trợ tên bị gạch ngang, vì vậy, bây giờ chính là thời điểm thích hợp để sửa mọi nội dung hiện có với cách đặt tên chính xác theo thông số kỹ thuật.

Tóm tắt

Những thay đổi này giúp việc triển khai Ảnh động trên web của Chrome đến gần hơn với các phương thức triển khai khác trên các trình duyệt, cũng như phù hợp hơn với thông số kỹ thuật, tất cả đều giúp đơn giản hoá việc tạo nội dung trang web để có khả năng tương tác tốt hơn.