Maison >interface Web >tutoriel CSS >Comment obtenir les dimensions de l'image d'arrière-plan d'une div à l'aide de jQuery ?

Comment obtenir les dimensions de l'image d'arrière-plan d'une div à l'aide de jQuery ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-13 20:20:12782parcourir

How to Get a Div's Background Image Dimensions Using jQuery?

Déterminer les dimensions de l'image d'arrière-plan avec jQuery

Introduction

Récupérer les dimensions de l'image d'arrière-plan d'un div à l'aide de jQuery peut sembler simple mais pose des défis. Cet article aborde cette tâche et présente une solution étendue qui simplifie le processus.

Questions :

Requête : Comment puis-je obtenir l'image d'arrière-plan taille (largeur et hauteur) d'un div en utilisant jQuery ?

Réponse A :

Pour récupérer les dimensions de l'image d'arrière-plan, utilisez l'approche suivante :

var image_url = $('#myDiv').css('background-image'),
    image;

// Remove url() or url("")
image_url = image_url.match(/^url\("?(.+?)"?\)$/);

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

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

    image.src = image_url;
}

Réponse B (mise à jour 2018) :

Pour une présentation complète solution :

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 };
    });
};

Utilisation:

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');
    });

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn