Rumah >hujung hadapan web >tutorial css >Mengapa Peralihan CSS Saya Tidak Berfungsi Dengan Tayangan Slaid JavaScript Saya?

Mengapa Peralihan CSS Saya Tidak Berfungsi Dengan Tayangan Slaid JavaScript Saya?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-29 09:06:03763semak imbas

Why Are My CSS Transitions Not Working With My JavaScript Slideshow?

Kegagalan Peralihan CSS dengan Aplikasi JavaScript

Dalam percubaan untuk mempertingkatkan tayangan slaid dengan peralihan CSS3, pengguna menghadapi isu yang membingungkan: peralihan enggan berfungsi walaupun gaya yang betul digunakan melalui JavaScript.

JavaScript mendapatkan semula slaid tayangan slaid dan memperuntukkan kelas CSS yang dipratentukan untuk mengawal animasi. Walau bagaimanapun, peralihan yang dinyatakan gagal untuk diaktifkan. Fenomena ini tidak diperhatikan apabila gaya dan peralihan digunakan secara manual menggunakan konsol alat pembangun.

Melalui analisis, telah ditentukan bahawa untuk peralihan berlaku, tiga syarat mesti dipenuhi:

  1. Sifat awal elemen mesti ditakrifkan secara eksplisit, cth., kelegapan: 0.
  2. Peralihan mesti diberikan kepada elemen, cth., peralihan: kelegapan 2s.
  3. Nilai sifat baharu mesti digunakan, cth., kelegapan: 1.

Dalam pelaksanaan JavaScript yang bermasalah, syarat 1 dan 2 ditetapkan secara dinamik. Akibatnya, tiada kelewatan masa untuk penyemak imbas memproses dan mendaftarkan perubahan.

Untuk menyelesaikan isu ini, adalah disyorkan untuk memasukkan kelewatan sebelum menggunakan syarat 3. Kelewatan ini membolehkan penyemak imbas memproses perubahan sebelumnya, memastikan bahawa sifat peralihan dikenali dengan betul apabila nilainya ditukar:

<code class="javascript">window.setTimeout(function() {
  slides[targetIndex].className += " target-fadein";
}, 100); </code>

Sebagai alternatif, syarat 3 boleh digunakan secara langsung dalam HTML, memastikan bahawa sifat peralihan ditakrifkan semasa pemuatan halaman, menghapuskan keperluan untuk kelewatan dalam JavaScript:

<code class="html"><div class="target-fadein-begin" ...></div></code>

Setelah syarat ini dipenuhi, animasi yang dicetuskan oleh peralihan CSS3 akan berfungsi seperti yang diharapkan.

Atas ialah kandungan terperinci Mengapa Peralihan CSS Saya Tidak Berfungsi Dengan Tayangan Slaid JavaScript Saya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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