Rumah > hujung hadapan web > tutorial js > Bagaimana untuk Memulakan Semula Animasi CSS3 Dengan Cekap Tanpa Menggunakan Tamat Masa?

Bagaimana untuk Memulakan Semula Animasi CSS3 Dengan Cekap Tanpa Menggunakan Tamat Masa?

DDD
Lepaskan: 2024-11-10 18:35:03
asal
317 orang telah melayarinya

How to Restart CSS3 Animations Efficiently Without Using Timeouts?

Mengulas Semula Mulakan Semula Animasi CSS3: Membongkar Pendekatan Alternatif

Memulakan semula animasi CSS3 boleh menimbulkan cabaran, terutamanya apabila cuba memulihkan skala elemen dan menghidupkannya kembali kepada keadaan asalnya . Walaupun mengalih keluar dan memasukkan semula elemen menawarkan penyelesaian, ia mungkin bukan penyelesaian yang paling berkesan.

Pendekatan yang lebih elegan melibatkan memanfaatkan aliran semula untuk menggunakan perubahan tanpa bergantung pada tamat masa. Fungsi JavaScript berikut menunjukkan teknik ini:

function reset_animation() {
  var el = document.getElementById('animated');
  el.style.animation = 'none';
  el.offsetHeight; /* trigger reflow */
  el.style.animation = null; 
}
Salin selepas log masuk

Bersempena dengan CSS dan HTML di bawah, fungsi ini membenarkan tetapan semula animasi yang lancar apabila mengklik:

#animated {
  position: absolute;
  top: 70px;
  width: 50px; height: 50px;
  background-color: black;
  animation: bounce 3s ease-in-out infinite;
}
@keyframes bounce {
  0% { left: 0; }
  50% { left: calc( 100% - 50px ); }
  100% { left: 0; }
}
Salin selepas log masuk
<div>
Salin selepas log masuk

Oleh mencetuskan aliran semula, animasi ditetapkan semula tanpa memerlukan kelewatan atau pemasaan yang kompleks. Pendekatan ini menyediakan penyelesaian yang bersih dan cekap untuk memulakan semula sebarang animasi CSS3.

Atas ialah kandungan terperinci Bagaimana untuk Memulakan Semula Animasi CSS3 Dengan Cekap Tanpa Menggunakan Tamat Masa?. 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