Phototeque

guycnoel Messages postés 2 Date d'inscription mercredi 19 novembre 2003 Statut Membre Dernière intervention 3 septembre 2005 - 3 sept. 2005 à 00:50
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 - 4 sept. 2005 à 10:39
bonjour

voici une page avec un code hyper simplifié qui affiche des petites photos (thumbs). quand on clique sur une de ces photos, une fenêtre windows de la dimension de la photo s'ouvre avec la photo originale (original).
La 1ère fois que la photo original doit être chargée, ( img.src="original/"+image
), l'alert affiche une dimension width=0 et height=0. Quand la fenêtre (x) est fermée, et qu'on reclique sur la photo, l'alert fournit une taille correcte. D'après ce que j'ai lu, img.src doit normalement charger la photo, et les propriétés devraient être disponibles.

Pourquoi la taille de la photo originale n'est-elle pas disponible au moment du img.src ?
Comment faire pour solutionner ce problème (les photos pouvant avoir une taille aléatoire) ?

<head>
<title></title>
<script language="javascript">
<!--
function OpenImage(image)
{
alert (image);


var img=new Image();
img.src="original/"+image;

var height = img.height;
var width = img.width;
var n = new Date();
alert ("height " + height + " width "+width + " src "+img.src);
var x=window.open();
x.document.write('');
x.focus();


}
-->


</script>
</head>

,


</html>

1 réponse

coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
4 sept. 2005 à 10:39
les dimentions ne sont pas disponibles parce-que le javascript demande
à un autre thread du navigateur de charger cette image, donc, quand le
javascript s'exécute, l'image n'est pas encore chargée, on ne connait
pas encore ses dimentions...



découpe ta fonction en deux et mets un setTimeout....

In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy

http://coucou747.hopto.org
0
Rejoignez-nous