Maison >interface Web >tutoriel CSS >Comment obtenir les dimensions de l'image d'arrière-plan d'une div à l'aide de 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!