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

Bagaimanakah Saya Boleh Mendapatkan Saiz Imej Latar Belakang Div Menggunakan jQuery?

Barbara Streisand
Lepaskan: 2024-12-13 01:21:14
asal
808 orang telah melayarinya

How Can I Get the Size of a Div's Background Image Using jQuery?

Mendapatkan Saiz Imej Latar Belakang Div dengan jQuery

Dalam pembangunan web, mendapatkan saiz imej yang digunakan sebagai latar belakang untuk elemen div tertentu boleh memberi manfaat kerana pelbagai sebab. Sama ada untuk susun atur responsif atau membina kandungan dinamik berdasarkan dimensi imej, jQuery menawarkan pendekatan serba boleh untuk mendapatkan maklumat ini.

Pendekatan jQuery untuk Mendapatkan Saiz Imej

jQuery, perpustakaan JavaScript yang popular, menyediakan kaedah untuk mendapatkan semula sifat imej latar belakang, termasuk saiz. Walau bagaimanapun, ia boleh menjadi sukar untuk mengekstrak saiz terus daripada sifat CSS imej latar belakang. Sebaliknya, keupayaan jQuery untuk memuatkan dan memanipulasi imej membolehkan kami memperoleh maklumat yang diingini.

Mendapatkan Saiz melalui jQuery Deferred Object

Satu kaedah berkesan melibatkan penggunaan jQuery's Deferred Object untuk mengendalikan pemuatan imej dan pengambilan saiz. Pendekatan ini memastikan pelaksanaan tak segerak, membolehkan kod diteruskan semasa imej dimuatkan. Berikut ialah pelaksanaannya:

var getBackgroundImageSize = function(el) {
    var imageUrl = $(el).css('background-image').match(/^url\(["']?(.+?)["']?\)$/);
    var dfd = new $.Deferred();

    if (imageUrl) {
        var image = new Image();
        image.onload = dfd.resolve;
        image.onerror = dfd.reject;
        image.src = imageUrl[1];
    } else {
        dfd.reject();
    }

    return dfd.then(function() {
        return { width: this.width, height: this.height };
    });
};

// Usage
getBackgroundImageSize(jQuery('#mydiv'))
    .then(function(size) {
        console.log('Image size is', size.width, size.height);
    })
    .fail(function() {
        console.log('Could not get size because could not load image');
    });
Salin selepas log masuk

Kod ini memuatkan imej, mendapatkan semula dimensinya apabila berjaya dimuatkan dan membungkus proses itu dalam Objek Tertunda. Ini membolehkan pembangun mengendalikan kedua-dua senario pemuatan imej yang berjaya dan gagal, memberikan pelaksanaan yang lebih mantap.

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

sumber:php.cn
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