Problème de calcul de dimension d'image sur onLoad
mdemo
Messages postés90Date d'inscriptionmardi 21 mars 2006StatutMembreDernière intervention10 mai 2010
-
8 juin 2007 à 17:59
yousfane
Messages postés243Date d'inscriptionvendredi 24 novembre 2006StatutMembreDernière intervention21 décembre 2007
-
8 juin 2007 à 23:30
Bonjour à tous,
Je bloque sur la détermination des dimensions d'une image chargée, et ça fait un bout de temps que ça dure...
Voici en gros ce que j'ai:
var
ImgS new Image(); ImgS.src Pics[Index1];
ImgS.onLoad = CalculDim(ImgS);
function CalculDim(t) {
alert(t.width);
}
Ou bien un alert(ImgS.width);
Je suis à 0 au premier passage, puis j'ai enfin la largeur au second coup(code lancé sur appui bouton par ex).
Le onLoad est normalement déclenché quand l'image est totalement chargée, d'où mon incompréhension.
Tout se passe comme si la fonction CalculDim était lancée avant même le chargement total, puis quand je relance le tout ça devient ok car l'image est enfin en cache.
Pouvez-vous m'éclairer ?
Merci d'avance.
A voir également:
Problème de calcul de dimension d'image sur onLoad
mdemo
Messages postés90Date d'inscriptionmardi 21 mars 2006StatutMembreDernière intervention10 mai 2010 8 juin 2007 à 22:45
Merci Yousfane.
Je pense en effet que le premier code est censé marcher. Mais ce n'est pas le cas avec IE7 et FF2.
Par contre je découvre le onComplete.
J'ai entre temps trouvé une alternative en bouclant sur un test de non pas de complete mais de la largeur non nulle.
Pas hyper glorieux mais efficace.
C'était justement pour éviter ça que j'avais cru trouver mon bonheur avec le onLoad. C'est pourtout tout bête comme code, et en plus la fonction est bien lancée sur l'évènement, mais j'ai toujours une dimension nulle au premier passage.
J'ai lu des messages par ailleurs de personnes se plaignant aussi des complete et onload.
Pas essayé sous IE6, mais peut-on imaginer un bug sous les navigateurs récents IE7 et FF2. C'est un peu la solution de facilité de dire ça mais le code est tellement simple que je ne vois vraiment pas ce qui peut clocher...