Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> HTML

AnimationEvent trong HTML DOM

AnimationEvent trong HTML DOM là một đối tượng trong JavaScript xử lý các sự kiện xảy ra khi animation CSS chạy. Nó cung cấp thông tin về các sự kiện liên quan đến animation. Nó cung cấp kiểm soát tốt hơn đối với CSS animations. Nó đại diện cho mối quan hệ giữa sự kiện và animation bằng cách mô tả sự kiện nào đã kích hoạt animation.

Thuộc tính

Dưới đây là các thuộc tính cho Animation Event:

Thuộc tính Mô tả
animationName Trả về tên của animation đang được thực thi.
elapsedTime Trả về thời gian đã trôi qua kể từ khi animation chạy (giây).
pseudoElement Trả về tên của pseudo-element của animation. Vd: ::before, ::after, ::first-line, v.v.

Cú pháp

Cú pháp cho animationEvent:

animationEvent.property

Ví dụ

Dưới đây là ví dụ cho animationEvent:

<!DOCTYPE html> <html> <head> <style>    #ANIM-DIV {       margin: 10px;       width: 400px;       height: 100px;       background: lightgreen;       position: relative;       font-size: 30px;       animation-name: animMove;       animation-duration: 5s;    }    @-webkit-keyframes animMove {       from {top: 0px;}       to {top: 200px;}    } </style> </head> <body> <div id="ANIM-DIV"></div> <script>    var x = document.getElementById("ANIM-DIV");    x.addEventListener("animationstart", myAnimFunction);    function myAnimFunction(event) {       this.innerHTML = "Tên animation-name là: " + event.animationName;    } </script> </body> </html>

Lưu ý - Ví dụ này được test trên Chrome 74.0.3729.169. Kiểm tra tương thích trình duyệt cho animationEvent.

Kết quả

Sẽ cho kết quả sau:

AnimationEvent trong HTML DOM

Sau 5s, phần tử sẽ dịch chuyển xuống:

AnimationEvent trong HTML DOM

Giải thích ví dụ:

Chúng ta đã tạo một hộp chữ nhật 400px x 100px bằng cách sử dụng div:

#ANIM-DIV {    margin: 10px;    width: 400px;    height: 100px;    background: lightgreen;    position: relative;    font-size: 30px;    animation-name: animMove;    animation-duration: 5s; }

Sau đó chỉ định vị trí bắt đầu và kết thúc mà div sẽ di chuyển để tạo animation:

@-webkit-keyframes animMove {    from {top: 0px;}    to {top: 200px;} }