Régler le problème des images qui ont une height et width = 0 avec jQuery sur Chrome / Safari
Bonjour,
Je viens de rencontrer un problème pénible sous Chrome, j’avais besoin de récupérer la taille des images de ma page pour les modeler à nouveau et changer leurs propriétés.
Il se trouve que j’ai fait un code correct de cette façon :
$(document).ready(function() {
if ($("#flexicontent .desc-content img").length) {
var elements = $("#flexicontent .desc-content img");
elements.each(function(){
alert($(this).width());
});
}
}
Et ce code marchait sur certaines images et pas sur d’autres… Pourquoi? Et bien, il se trouve que même après un document.ready, les images ne sont pas forcément chargées et tout particulièrement leurs propriétés. Il faut donc remplacer ce code par le code suivant :
$(window).load(function () {
if ($("#flexicontent .desc-content img").length) {
var elements = $("#flexicontent .desc-content img");
elements.each(function(){
alert($(this).width());
});
}
}
L’évènement $(window).load nous donnera les bonnes propriétés aux images.
Merci de partager, je me doutais bien de ce genre de problème.
🙂
De rien, merci à toi d’être venu. Cela fait un moment que je ne partage plus mes petites astuces de mon quotidien par manque de temps mais ton commentaire m’a remotivé 🙂