11550 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

J'ai un petit problème avec la position de la bulle d'information sous Internet Explorer sur la page suivante :
http://www.residencespicardes.com/?page=terrains&departement=80

Le positionnement marche parfaitement sous Firefox.

Voici mon bout de code :

function MoveMouse(evenement)
{
	if(bulle)
	{  // Si la bulle est visible, on calcul en temps reel sa position ideale
		if (navigator.appName!="Microsoft Internet Explorer")
		{ // Si on est pas sous IE
			GetId("bulle").style.left = evenement.pageX - document.getElementById('conteneur').offsetLeft + 15 + "px";
			GetId("bulle").style.top = evenement.pageY - document.getElementById('conteneur').offsetTop + 10 + "px";
		}
		else
		{ 
			if(document.documentElement.clientWidth > 0)
			{
				GetId("bulle").style.left = 20 + event.x + document.documentElement.scrollLeft + "px";
				GetId("bulle").style.top = 10 + event.y + document.documentElement.scrollTop + "px";
			}
			else
			{
				GetId("bulle").style.left = 20 + event.x + document.body.scrollLeft + "px";
				GetId("bulle").style.top = 10 + event.y + document.body.scrollTop + "px";
			}
		}
	}
}


Sous Internet Explorer, si vous placez votre souris sur l'image en allant de bas en haut et en commençant en bas de la liste, celle-ci se trouve tout en bas. Elle est parfois non affichée car celle-ci semble être plus bas que la fenêtre.

Voyez-vous une erreur dans le code ?

Merci,
ZiP
Modifié par ZiP (24 Apr 2008 - 22:20)
J'ai résolu mon problème qui était causé par la prise en compte de la position des ascenseurs dans la calcul de la position de la bulle :


document.documentElement.scrollLeft
et
document.documentElement.scrollTop


Cordialement,
ZiP
Modifié par ZiP (24 Apr 2008 - 22:20)