http://photo.163.com/shixiaojian089/train/28002 Ini adalah album foto dari NetEase. Saya ingin mencobanya setelah melihatnya.
Dalam metode produksi saya, saya perlu mendapatkan lebar setiap foto, jadi saya secara alami menggunakan metode lebar () JQ. Tidak ada masalah besar dalam berjalan di bawah FF dan IE, tetapi ketika datang ke Chrome, ada masalah.
Gunakan peringatan untuk memecahkan masalah dan menemukan bahwa nilai yang diperoleh dengan metode lebar di Chrome adalah 0. Dalam hal ini, saya pikir gambar tidak dimuat sama sekali ketika skrip berjalan di sini. Masalahnya harus dengan $ (function () {}); Karena metode ini hanya mengharuskan DOM dijalankan setelah memuat. Kemudian ubah untuk mengeksekusi di bawah onload, dan tidak apa -apa. Namun, ini jelas bukan solusi yang baik. Lagi pula, Anda harus menunggu sampai semua konten seluruh file dimuat sebelum menjalankan skrip.
Setelah mencari online, saya menemukan bahwa orang ini //www.vevb.com/article/50402.htm juga mengalami masalah yang sama. Ada solusi di bawah komentarnya, yang dapat digunakan sebagai referensi:
Gunakan di mana Anda ingin mendapatkan lebar dan tinggi gambar
Salinan kode adalah sebagai berikut:
$ img.load (function () {
var img_h = $ img.height ();
var img_w = $ img.width ();
}
Dengan cara ini, Anda masih dapat menggunakan $ (function () {}); Panggil metode pemuatan pada objek gambar di mana gambar perlu dimuat, menghindari menunggu seluruh konten file dimuat.