[Javascript] une fonction qui déconne
Kopros
Messages postés
631
Statut
Membre
-
Kopros Messages postés 631 Statut Membre -
Kopros Messages postés 631 Statut Membre -
Salut à tous !
Alors voilà, j'ai un select avec une liste de noms d'images. Quand on choisi un nom, un aperçu de l'image s'affiche.
Donc j'ai fais ma petite fonction, ça marche bien, et j'ai voulu l'améliorer : si la largeur de l'image dépasse les 500 px, on redimensionne à 500.
Voici le début de ma fonction :
Le soucis, c'est que quand je sélectionne l'image A une 1ere fois, la variable oImg.width vaut 0.
Je sélectionne l'image B, oImg.width est encore à 0.
Je sélectionne une nouvelle fois l'image A, oImg.width vaut le width de l'image (c'est le résultat attendu).
Je sélectionne B, oImg.width est ok.
Je resélectionne A, ben... ça dépend des fois, oImg.width peut valoir 0 ou la largeur de l'image...
Ce que je comprends pas, c'est que oImg.src contient bien l'adresse de l'image, dans tous les cas.
Quelqu'un a une idée du pourquoi du comment ?
Alors voilà, j'ai un select avec une liste de noms d'images. Quand on choisi un nom, un aperçu de l'image s'affiche.
Donc j'ai fais ma petite fonction, ça marche bien, et j'ai voulu l'améliorer : si la largeur de l'image dépasse les 500 px, on redimensionne à 500.
Voici le début de ma fonction :
function dynprev(adr_img){
var oImg = new Image();
oImg.src = adr_img;
var w;
w = oImg.width;
if (w>500){w = 500;}
[...]
Le soucis, c'est que quand je sélectionne l'image A une 1ere fois, la variable oImg.width vaut 0.
Je sélectionne l'image B, oImg.width est encore à 0.
Je sélectionne une nouvelle fois l'image A, oImg.width vaut le width de l'image (c'est le résultat attendu).
Je sélectionne B, oImg.width est ok.
Je resélectionne A, ben... ça dépend des fois, oImg.width peut valoir 0 ou la largeur de l'image...
Ce que je comprends pas, c'est que oImg.src contient bien l'adresse de l'image, dans tous les cas.
Quelqu'un a une idée du pourquoi du comment ?
A voir également:
- [Javascript] une fonction qui déconne
- Fonction si et - Guide
- Fonction miroir - Guide
- Telecharger javascript - Télécharger - Langages
- Fonction moyenne excel - Guide
- Comment colorer une cellule excel en fonction du contenu d'une autre cellule ✓ - Forum Excel
1 réponse
Pour le moment je contourne le problème en mettant :
Mais franchement j'aimerais pas laisser comme ça, un coup sur deux l'image fait 100px, puis sa taille normale (ou 500px si elle est trop grande)... Pour parler vulgairement, il pue mon code.
Quelqu'un saurait d'où vient mon problème de base ?
if (w==0){w = 100;}
Mais franchement j'aimerais pas laisser comme ça, un coup sur deux l'image fait 100px, puis sa taille normale (ou 500px si elle est trop grande)... Pour parler vulgairement, il pue mon code.
Quelqu'un saurait d'où vient mon problème de base ?