Bonjour à tous,

Une boucle PHP lit une table et affiche des images avec liens. Je voudrais que ces liens affichent une petite popup d'info en DHTML.

L'ennui c'est que la liste peut être longue et nécessiter les scrolls du navig. Résultat : si j'affiche la popup depuis une des lignes du bas, elle n'est plus visible !

Je dois donc régler le style.top. Oui, mais comme on est dans une boucle, le "top" est variable. J'ai donc eu l'idée de récupérer la coordonnée Y de chaque image et de la passer en paramètre dans la fonction d'ouverture de popup.

Dans la boucle PHP

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
$i = 0;
while($row = mysql_fetch_assoc($sql)){
 echo '<div id="image'.$i.'"></div><img src="image.gif" onclick="cherche_coords('"image".$i."')"'>
$i++;
}
Et côté JS

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
function cherche_coords(obj) {
	var curleft = curtop = 0;
		if (obj.offsetParent) {
			do {
			curleft = obj.offsetLeft;
			curtop = obj.offsetTop;
			} while (obj = obj.offsetParent);
		}
document.getElementById("test").innerHTML = curtop;
return [curleft,curtop];
}
Mais ça retourne toujours 0.
Quelqu'un peut m'aider ?
Merci à lui.