Rumah >hujung hadapan web >tutorial css >Bagaimanakah saya boleh mencetuskan semula Animasi CSS WebKit dengan JavaScript?

Bagaimanakah saya boleh mencetuskan semula Animasi CSS WebKit dengan JavaScript?

DDD
DDDasal
2024-12-19 17:09:17961semak imbas

How Can I Re-trigger WebKit CSS Animations with JavaScript?

Mencetuskan semula Animasi CSS WebKit dengan JavaScript

Dalam CSS, animasi ialah urutan terhad masa yang boleh digunakan pada elemen menggunakan @ peraturan -webkit-keyframes. Walau bagaimanapun, dalam beberapa kes, anda mungkin perlu mencetuskan semula animasi tanpa menggunakan tamat masa atau berbilang animasi.

Satu penyelesaian terletak pada penggunaan acara animationEnd, yang dicetuskan apabila animasi selesai. Dalam pelayar WebKit, acara ini dikenali sebagai webkitAnimationEnd. Dengan melampirkan pendengar acara pada elemen, anda boleh menetapkan semula animasi sebaik sahaja ia selesai.

Tetapan Semula Terdorong Peristiwa

Dalam JavaScript vanilla:

var element = document.getElementById('box');

element.addEventListener('webkitAnimationEnd', function(){
    this.style.webkitAnimationName = '';
}, false);

document.getElementById('button').onclick = function(){
    element.style.webkitAnimationName = 'shake';
};

Dalam jQuery:

var $element = $('#box').bind('webkitAnimationEnd', function(){
    this.style.webkitAnimationName = '';
});

$('#button').click(function(){
    $element.css('webkitAnimationName', 'shake');
});

Keserasian Merentas Pelayar

Untuk sokongan merentas pelayar, perpustakaan seperti ujian peralihan CSS3 boleh digunakan. Ia menyediakan objek sokongan yang mengesan pelbagai sifat dan acara CSS, termasuk sokongan animasi:

var css3AnimationSupport = (function(){
    var div = document.createElement('div'),
        divStyle = div.style,
        support = {
            transition: ...
            transform: ...
            animation: ...
        };
}());

Dengan menggunakan objek sokongan ini, adalah mungkin untuk mengesan sifat animasi dan acara untuk setiap penyemak imbas, membolehkan pengendalian yang konsisten animasi CSS merentas berbilang platform.

Atas ialah kandungan terperinci Bagaimanakah saya boleh mencetuskan semula Animasi CSS WebKit dengan JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn