captain_torche Posté 11 Décembre 2006 Posté 11 Décembre 2006 Bonjour à tous ! Je cherche à réaliser une ouverture de div sur une image map, et un placement à l'endroit du curseur. J'ai trouvé un peu partout sur le net, cette fonction (et de nombreuses variantes) pour déterminer la position du curseur : function position(e) { var posx, posy; if (!e) var e = window.event; if (e.pageX || e.pageY) { posx = e.pageX; posy = e.pageY; } else if (e.clientX || e.clientY) { posx = e.clientX + document.body.scrollLeft; posy = e.clientY + document.body.scrollTop; }} A ce que j'ai lu, pour que cela fonctionne sour Mozilla (Firefox, etc), pour appeler la fonction dans un évènement, il faut préciser un argument "event" (ex : onmouseover="position(event)"). Ca marche parfaitement. Par contre, je n'arrive pas à appeler la fonction en-dehors de cet évènement. J'aimerais appeler cette fonction depuis une autre, mais si au sein d'une fonction j'appelle position(event), j'ai cette erreur : "event is not defined". Comment le contourner ?
GillesCGD Posté 20 Décembre 2006 Posté 20 Décembre 2006 je connais pas la synthaxe, mais fais un premier qui test si "e" existe bien tu execute ton script, sinon ...
captain_torche Posté 20 Décembre 2006 Auteur Posté 20 Décembre 2006 C'est ce qui se fait déjà dans le script : if (!e) var e = window.event; qui redéfinit e s'il n'existe pas.
ZeBrian Posté 2 Janvier 2007 Posté 2 Janvier 2007 (modifié) Si ton script se limite au positionnement du curseur, la solution serait à mon avis d'attribuer à la balise <body> un attribut "onmousemove" qui appellerait ta fonction position comme il se doit, puis d'enregistrer à chaque mouvement les nouvelles coordonnées dans une variable globale... La position du curseur serait alors toujours accessible sans avoir besoin de la variable "event" Modifié 2 Janvier 2007 par ZeBrian
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant