Détecter la taille d'une image

cs_attentio Messages postés 167 Date d'inscription mardi 20 janvier 2004 Statut Membre Dernière intervention 24 mai 2010 - 17 mars 2006 à 12:09
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 - 17 mars 2006 à 13:15
bonjour,


j'ai une fonction qui me permet d'ouvrir des images dans une popup a la taille de la popup, ca marche bien.
Mais le probleme c'est que de temps en temps, sans raison particuliere, "largeur" et "hauteur" me renvoi zero, je ne comprends pas pourquoi (pour info, il me semble qu'en local, je n'ai pas ce probleme)
__________________________________________
function zoom(img) {
monImage = new Image;
monImage.src = img;
var largeur = monImage.width;
var hauteur = monImage.height;
var top0=(screen.availHeight-hauteur)/2;
var left0=(screen.availWidth-largeur)/2;
alert (top0 +' '+left0+' largeur='+largeur+' hauteur='+hauteur);
titre="zoom";
w=open('','image','top='+top0+'px,left='+left0+'px,width='+largeur+'px,height='+hauteur+'px,toolbar=no,scrollbars=no,resizable=no');
w.document.write("<HTML><HEAD><TITLE>"+titre+"</TITLE>");
w.document.write("<SC"+"RIPT language=java"+"script> function checksize() { if (document.images['img'].complete) { window.resizeTo(document.images[0].width+12,document.images[0].height+30); window.focus();} else { setTimeout('checksize()',250) } }</"+"SCRIPT></HEAD>");
w.document.write("");
w.document.write("");
w.document.write("</HTML>");
w.document.close();
}
__________________________________________


merci de votre aide

5 réponses

cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
17 mars 2006 à 12:34
Bonjour,
>>"largeur" et "hauteur" me renvoi zero, je ne comprends pas pourquoi
>>(pour info, il me semble qu'en local, je n'ai pas ce probleme)
ça va trop vite, le javascript !
° mettre un poil de délai pour récupérer ces infos ( setTimeout )
° ou ne le faire que si image.complete est vrai ( ça c'est "de mémoire",
à vérifier : mais il existe , peut-être pas sur tous les navigateurs, un truc
qui est true quand l'image est effectivement affichée, false sinon )
Cordialement. Bul. ~
0
cs_attentio Messages postés 167 Date d'inscription mardi 20 janvier 2004 Statut Membre Dernière intervention 24 mai 2010
17 mars 2006 à 12:40
merci !
ou dois-je placer le settimeout dans ma fonction? et combien de tps je mets?
merci infiniment
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
17 mars 2006 à 12:51
>>ou dois-je placer le settimeout
avant d'utiliser les données de l'objet

>>combien de tps je mets?
pffft... ? au pif ? tester , peut-être 1 milli-seconde suffit ?
peut-être boucler tant que c'est = 0 ????

Cordialement. Bul. ~
0
cs_attentio Messages postés 167 Date d'inscription mardi 20 janvier 2004 Statut Membre Dernière intervention 24 mai 2010
17 mars 2006 à 13:06
et que dois-je mettre dans le settimeout a part le tps ?
j'y arrive pas

merci encore
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
17 mars 2006 à 13:15
....javascript....
{

setTimeout("fonction();"le délai en milli secondes);
/*
ne plus rien faire ici !!!
... instructions qui existaient avant
*/
}

fonction()
{
les instructions qui existaient avant
}

tu as regardé/cherché .complete ???

Cordialement. Bul. ~
0
Rejoignez-nous