Étant donné une liste de chemins d'images, comment puis-je les parcourir et trouver les dimensions réelles de l'image? Je suppose que je dois les insérer dans le DOM sans propriétés de largeur ou de hauteur et faire un .width et .height sur eux?Obtenir les vraies dimensions d'une image avec JQuery
Répondre
var paths = ['/path/image.png', 'somewhere/page.jpg'];
$.each(paths, function(i, path) {
var img = new Image();
$(img).load(function() {
var width = img.width,
height = img.height;
alert(width + ' × ' + height);
});
img.src = path;
});
J'ai une question à propos de ce code. Oui, cela fonctionne, mais comment la largeur et la hauteur sont-elles extraites de l'objet Image avant la définition de img.src? – Michael
Je voudrais aussi savoir pourquoi cette commande fonctionne. – Michael
@Michael - la largeur et la hauteur sont extraites "après" que le img.src est défini. Le bloc de code juste avant la ligne 'img.src = path;' est juste la liaison du gestionnaire d'événements à l'événement _load_. Le gestionnaire d'événements ne s'exécute pas jusqu'à ce que l'événement _load_ se produise, ce qui est par la suite. – tamakisquare
http://stackoverflow.com/questions/318630/get-real-image-width-and-height-with-javascript-in-safari-chrome Look similaire. – Flack
Avez-vous essayé width() et height()? –