Rumah >hujung hadapan web >tutorial css >Bagaimanakah Saya Boleh Mencetuskan Semula Animasi CSS WebKit Menggunakan 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:
var element = document.getElementById('box'); element.addEventListener('webkitAnimationEnd', function(){ this.style.webkitAnimationName = ''; }, false); document.getElementById('button').onclick = function(){ element.style.webkitAnimationName = 'shake'; };
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'); });
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 }; }());
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!