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
Lepaskan: 2024-11-29 15:39:15
asal
468 orang telah melayarinya

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.
};
Salin selepas log masuk

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.
});
Salin selepas log masuk

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
    };
}());
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan