Rumah >hujung hadapan web >tutorial css >Bagaimana untuk Memulakan Semula Animasi CSS WebKit Menggunakan JavaScript?

Bagaimana untuk Memulakan Semula Animasi CSS WebKit Menggunakan JavaScript?

DDD
DDDasal
2024-11-29 15:39:15483semak imbas

How to Restart a WebKit CSS Animation Using JavaScript?

Cara Mencetuskan Semula Animasi CSS WebKit melalui JavaScript

Soalan ini menangani isu mencetuskan semula animasi CSS menggunakan JavaScript. Peraturan animasi sedia ada "@-webkit-keyframes goncang" mentakrifkan kesan gegaran, tetapi percubaan berikutnya untuk mengaktifkannya semula melalui JavaScript terbukti tidak berjaya.

Penyelesaian yang disediakan memanfaatkan acara "animationEnd", khususnya "webkitAnimationEnd" untuk pelayar WebKit. Apabila acara ini dicetuskan, ia menunjukkan siapnya animasi.

Untuk mencetuskan semula animasi, pendengar acara ditambahkan pada elemen untuk acara "webkitAnimationEnd". Setelah menerima acara ini, sifat gaya "webkitAnimationName" elemen itu dikosongkan, menetapkan semula animasi dengan berkesan.

Contoh (JavaScript Vanila Biasa):

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

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

document.getElementById('button').onclick = function(){
    element.style.webkitAnimationName = 'shake';
    // You may want to prevent default action here.
};

Contoh (jQuery):

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

$('#button').click(function(){
    $element.css('webkitAnimationName', 'shake');
    // You may want to prevent default action here.
});

Sokongan Silang Penyemak Imbas:

Untuk sokongan merentas pelayar, objek "css3AnimationSupport" boleh digunakan untuk mengesan CSS sifat peralihan, transformasi dan animasi yang disokong oleh penyemak imbas yang berbeza.

var css3AnimationSupport = (function(){
    var div = document.createElement('div'),
        divStyle = div.style;

    return {
        transition: (function(){
            return divStyle.MozTransition     === ''? {name: 'MozTransition'   , end: 'transitionend'} :
                (divStyle.MsTransition     === ''? {name: 'MsTransition'    , end: 'msTransitionend'} :
                (divStyle.WebkitTransition === ''? {name: 'WebkitTransition', end: 'webkitTransitionEnd'} :
                (divStyle.OTransition      === ''? {name: 'OTransition'     , end: 'oTransitionEnd'} :
                (divStyle.transition       === ''? {name: 'transition'      , end: 'transitionend'} :
                false))));
        })()
        // ... Other detections omitted for brevity
    };
}());

Atas ialah kandungan terperinci Bagaimana untuk Memulakan Semula Animasi CSS WebKit Menggunakan 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