Rumah > hujung hadapan web > tutorial css > Bagaimanakah Saya Boleh Mendapatkan Dimensi Imej Latar Belakang DIV Menggunakan jQuery?

Bagaimanakah Saya Boleh Mendapatkan Dimensi Imej Latar Belakang DIV Menggunakan jQuery?

Barbara Streisand
Lepaskan: 2024-12-07 00:26:15
asal
936 orang telah melayarinya

How Can I Get the Dimensions of a DIV's Background Image Using jQuery?

Menggunakan jQuery untuk Mendapatkan Dimensi Imej Latar Belakang DIV

Berusaha untuk menentukan dimensi imej latar belakang DIV dalam jQuery boleh menjadi cabaran, terutamanya apabila kaedah terbina dalam kelihatan gagal. Nasib baik, terdapat penyelesaian yang memanfaatkan kuasa objek Imej untuk mengatasi halangan ini.

Pada asalnya, adalah dipercayai bahawa baris mudah "jQuery('#myDiv').css('background-image') .tinggi();" akan mencukupi untuk mendapatkan ketinggian imej latar belakang. Walau bagaimanapun, pendekatan ini menghadapi ralat yang menunjukkan bahawa hasilnya bukan fungsi.

Kunci kejayaan terletak pada mengenali bahawa imej latar belakang disimpan sebagai URL dan bukannya imej sebenar. Untuk mengakses dimensi, kita perlu mengekstrak URL terlebih dahulu. Ini boleh dilakukan menggunakan kod berikut:

var image_url = jQuery('#myDiv').css('background-image').match(/^url\("?(.+?)"?\)$/);
Salin selepas log masuk

Setelah URL diperoleh, kami mencipta objek Imej dan memuatkan imej. Setelah dimuatkan, objek akan mendedahkan dimensi yang diingini:

if (image_url[1]) {
  image_url = image_url[1];
  var image = new Image();

  $(image).load(function() {
    alert(image.width + 'x' + image.height);
  });

  image.src = image_url;
}
Salin selepas log masuk

Kaedah ini memastikan imej sebenar dimuatkan dan dimensi diperoleh dengan tepat. Selain itu, ia menyokong pelbagai bentuk penetapan URL, termasuk yang mempunyai petikan atau kurungan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mendapatkan Dimensi Imej Latar Belakang DIV Menggunakan jQuery?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan