Obtenir la taille de l'image d'arrière-plan Div avec jQuery
Dans le développement Web, obtenir la taille d'une image utilisée comme arrière-plan pour un élément div spécifique peut être bénéfique pour diverses raisons. Qu'il s'agisse d'une mise en page réactive ou de la création de contenu dynamique basé sur les dimensions de l'image, jQuery offre une approche polyvalente pour récupérer ces informations.
Approche de jQuery en matière de récupération de la taille de l'image
jQuery, une bibliothèque JavaScript populaire, fournit une méthode pour récupérer les propriétés de l'image d'arrière-plan, y compris sa taille. Cependant, il peut être délicat d'extraire la taille directement à partir de la propriété CSS background-image. Au lieu de cela, la capacité de jQuery à charger et manipuler des images nous permet d'obtenir les informations souhaitées.
Récupération de la taille via l'objet différé jQuery
Une méthode efficace consiste à utiliser l'objet différé de jQuery pour gérer le chargement des images et la récupération de la taille. Cette approche garantit une exécution asynchrone, permettant au code de se poursuivre pendant le chargement de l'image. Voici l'implémentation :
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'); });
Ce code charge l'image, récupère ses dimensions une fois le chargement réussi et enveloppe le processus dans un objet différé. Cela permet aux développeurs de gérer les scénarios de chargement d'images réussis et échoués, offrant ainsi une implémentation plus robuste.
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!