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?

Nov 30, 2024 am 06:29 AM

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

Tag artikel panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Menambah bayang -bayang kotak ke blok dan elemen WordPress Menambah bayang -bayang kotak ke blok dan elemen WordPress Mar 09, 2025 pm 12:53 PM

Menambah bayang -bayang kotak ke blok dan elemen WordPress

Buat borang hubungan JavaScript dengan rangka kerja pintar Buat borang hubungan JavaScript dengan rangka kerja pintar Mar 07, 2025 am 11:33 AM

Buat borang hubungan JavaScript dengan rangka kerja pintar

Buat editor teks sebaris dengan atribut yang boleh dipertikaikan Buat editor teks sebaris dengan atribut yang boleh dipertikaikan Mar 02, 2025 am 09:03 AM

Buat editor teks sebaris dengan atribut yang boleh dipertikaikan

Bekerja dengan Caching Graphql Bekerja dengan Caching Graphql Mar 19, 2025 am 09:36 AM

Bekerja dengan Caching Graphql

Menjadikan Peralihan Svelte Khas pertama anda Menjadikan Peralihan Svelte Khas pertama anda Mar 15, 2025 am 11:08 AM

Menjadikan Peralihan Svelte Khas pertama anda

Membandingkan 5 Pembina Borang PHP Terbaik (dan 3 skrip percuma) Membandingkan 5 Pembina Borang PHP Terbaik (dan 3 skrip percuma) Mar 04, 2025 am 10:22 AM

Membandingkan 5 Pembina Borang PHP Terbaik (dan 3 skrip percuma)

Muat naik fail dengan multer di node.js dan ekspres Muat naik fail dengan multer di node.js dan ekspres Mar 02, 2025 am 09:15 AM

Muat naik fail dengan multer di node.js dan ekspres

Tunjukkan, jangan beritahu Tunjukkan, jangan beritahu Mar 16, 2025 am 11:49 AM

Tunjukkan, jangan beritahu

See all articles