Rumah > hujung hadapan web > tutorial css > Bagaimanakah Saya Boleh Mencetuskan Semula Animasi CSS WebKit Menggunakan JavaScript?

Bagaimanakah Saya Boleh Mencetuskan Semula Animasi CSS WebKit Menggunakan JavaScript?

Linda Hamilton
Lepaskan: 2024-11-30 06:29:14
asal
704 orang telah melayarinya

How Can I Reliably Re-trigger WebKit CSS Animations Using JavaScript?

Mencetuskan Semula Animasi CSS WebKit Secara Imperatif

Apabila bekerja dengan animasi CSS WebKit, had boleh timbul apabila cuba mencetus semula animasi beberapa kali . Artikel ini menangani senario sedemikian dan menyediakan penyelesaian untuk memulakan semula animasi CSS melalui JavaScript tanpa menggunakan tamat masa atau animasi tambahan.

Untuk mencapai matlamat ini, pelayar WebKit menggunakan acara "webkitAnimationEnd", yang dicetuskan selepas selesai kitaran animasi. Dengan memanfaatkan acara ini, anda boleh menetapkan semula dan melancarkan semula animasi secara pengaturcaraan.

Pelaksanaan JavaScript Vanila

Dalam JavaScript tulen, pendekatannya melibatkan:

  1. Memilih elemen untuk dianimasikan.
  2. Menambahkan pendengar acara pada acara "webkitAnimationEnd".
  3. Menetapkan semula animasi apabila peristiwa dicetuskan.
var element = document.getElementById('box');

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

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

Pelaksanaan jQuery

Menggunakan jQuery menawarkan tawaran yang dipermudahkan sintaks:

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

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

Sokongan CSS Merentas Pelayar

Untuk keserasian merentas penyemak imbas, pertimbangkan untuk menggunakan pustaka pengesanan penyemak imbas. Ujian peralihan CSS3 menyediakan objek sokongan yang boleh membantu dalam mengenal pasti nama acara dan sifat animasi yang betul untuk penyemak imbas yang berbeza.

// Browser detection object
var css3AnimationSupport = (function(){
    var div = document.createElement('div'),
        divStyle = div.style;
    return {
        transform: divStyle.MozTransform  ||
                   divStyle.MsTransform   ||
                   divStyle.WebkitTransform ||
                   divStyle.OTransform    ||
                   divStyle.transform,
        transition: divStyle.MozTransition ||
                    divStyle.MsTransition   ||
                    divStyle.WebkitTransition ||
                    divStyle.OTransition    ||
                    divStyle.transition
    };
}());
Salin selepas log masuk

Dengan memanfaatkan nama acara dan sifat animasi yang sesuai, pendekatan ini membolehkan pencetus semula Animasi CSS dalam cara yang serasi merentas pelayar.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencetuskan Semula Animasi CSS WebKit Menggunakan JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan