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