Masalah:
Skrip yang dilaksanakan menggunakan $ (dokumen).ready() menyebabkan isu dengan penjajaran menegak elemen blok. Ia secara misteri sama ada ketinggalan atau menyeleweng elemen.
Soalan:
Adakah mungkin bahawa melaksanakan skrip pada DOM-ready tidak memberikan semua nilai CSS yang betul yang disuntik ke dalam yang DOM?
Jawapan:
Menurut nota keluaran jQuery 1.3:
"Kaedah ready() tidak lagi cuba membuat sebarang jaminan tentang menunggu semua helaian gaya dimuatkan sebaliknya, semua fail CSS hendaklah disertakan sebelum skrip pada halaman."
Ini bermakna adalah penting untuk memasukkan semua fail CSS dalam
bahagian menggunakanTanpa diduga, meletakkan CSS di atas skrip mungkin tidak menyelesaikan isu sepenuhnya. Muat turun CSS tidak segerak, membenarkan pemuatan JS bermula dan selesai walaupun semasa CSS sedang dimuat turun.
Percubaan menggunakan skrip cuzillion.com Steve Souders mendedahkan bahawa pelaksanaan JS kadangkala ditangguhkan sehingga CSS dimuatkan, walaupun bukti air terjun menunjukkan JS selesai sebelum muat turun CSS selesai.
Walau bagaimanapun, ujian lanjut menunjukkan bahawa peraturan menghentikan JS sehingga CSS yang ditakrifkan lebih awal adalah tidak universal. Nampaknya terdapat interaksi antara jujukan pemuatan JS luaran dan CSS.
Ringkasnya, untuk mengelakkan ketidakkonsistenan dan memastikan operasi skrip anda yang boleh dipercayai, sebaiknya masukkan semua fail CSS sebelum sebarang skrip pada halaman, seperti yang disyorkan dalam dokumentasi jQuery.
Atas ialah kandungan terperinci Adakah `$(document).ready()` Sebenarnya Menjamin CSS Dimuat Sepenuhnya dan Digunakan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!