2010-08-05 2 views
0

Я получаю экранные координаты щелчка мыши, используя clientX и clientY в IE. Я использую эти координаты для построения точки на карте с открытыми слоями, однако ось х всегда идеальна, а ось y всегда равна 86 пикселям. На данный момент я просто обойдусь этим, сделав clientY - 86, но, очевидно, это не хорошо, как долгосрочное решение. Кто-нибудь знает, что/где это 86, и как я могу получить доступ к значению «на лету»?Проблема с положением мыши на javascript

+0

Это помогло бы, если бы вы показали нам фрагмент кода, который вы используете для определения координат. – Sebs

ответ

0

Javascript использует верхний левый угол экрана в качестве базы для позиционирования.

координата х вычисляется расстояние между левой стороны экрана и указатель

у-координата вычисляется расстояние между верхней части экрана и указатель, так как общее количество пикселей в вашей панели избранного, адресной строке, .. занимает 86 пикселей, этот результат может показаться немного нечетным

+0

спасибо, знаете ли вы, как я могу рассчитать количество пикселей, занимаемое всеми этими панелями? Obvioulsy everyones setup отличается, и мне нужен согласованный xy спасибо – user357535

+0

Я не знаю, возможно ли это по-хорошему (я не настолько большой из JS-мастеров, все, что я знаю, это то, что мышь позиционируется в JS это похоже на то, что происходит через ад), но ссылка, предоставленная палиндромом, кажется хорошим началом. Другим решением может быть размещение части сайта, на котором вы хотите использовать эти координаты, на фиксированной высоте от верхней части экрана. – Molske

0

Кажется, вы сравниваете x/y мыши в области просмотра с фактическим x/y положение на экране.

clientX и clientY возвращают координаты мыши в видимом окне браузера, а не на весь экран пользователя.

Смежные вопросы