2010-08-05 5 views
0

Je reçois les coordonnées de l'écran de mon clic de souris en utilisant clientX et clientY dans IE. J'utilise ces coordonnées pour tracer un point sur une carte openlayers cependant, l'axe x est toujours parfait mais l'axe y est toujours exactement de 86 pixels. Pour le moment je ne fais que contourner cela en faisant clientY - 86 mais évidemment ce n'est pas une bonne solution à long terme. Est-ce que quelqu'un sait quoi/où ce 86 est et comment je peux accéder à la valeur à la volée?Problème de position de la souris Javascript

+0

Il serait utile si vous nous montrer un extrait du code que vous utilisez pour déterminer les coordonnées – Sebs

Répondre

0

Javascript utilise le coin supérieur gauche de l'écran comme base pour le positionnement.

La coordonnée x est calculée par la distance entre le côté gauche de l'écran et le pointeur

la coordonnée y est calculée par la distance entre la face supérieure de l'écran et le pointeur, parce que le total nombre de pixels votre barre de favoris, barre d'adresse, .. occupe 86 pixels, ce résultat peut sembler un peu étrange

+0

merci, savez-vous comment je peux calculer le nombre de pixels pris par toutes ces barres d'outils? Obvioulsy tout le monde est différent et j'ai besoin d'un xy merci – user357535

+0

Je ne sais pas si cela est possible dans une jolie façon (je ne suis pas un maître JS, tout ce que je sais, c'est que le positionnement de la souris dans JS c'est comme aller en enfer), mais le lien fourni par palindrom semble être un bon début. Une autre solution pourrait être de positionner la partie du site où vous souhaitez utiliser ces coordonnées à une hauteur fixe depuis le haut de votre écran. – Molske

0

Il semble que vous comparez le x/y de la souris dans la zone de visualisation avec le x/y réel de la position sur l'écran. Les clientsX et clientY renvoient les coordonnées de la souris dans la fenêtre du navigateur visible, et non sur l'écran entier de l'utilisateur.

Questions connexes