Firefox: получить координаты мыши в верхнем левом углу окна просмотра - PullRequest
1 голос
/ 25 июня 2009

Добрый день всем.

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

Однако проблема возникает из-за того, что единственное, что я могу сказать о том, где я нахожусь в документе, - это положение мыши. Частичным решением было бы рассчитать, сколько нужно переместить мою всплывающую подсказку, узнав, будет ли текущая координата мыши + ширина / высота всплывающей подсказки, и посмотреть, будет ли она превышать window.innerHeight или window.innerWidth.

Однако я понимаю, что если бы это был очень длинный документ, и пользователь прокрутил немного, координата мыши имела бы очень большое значение y. Поэтому я не могу полагаться исключительно на window.innerHeight, чтобы увидеть, нахожусь ли я еще в области просмотра. Кто-нибудь нашел способ узнать координаты мыши в верхнем левом углу окна просмотра, если пользователь много прокрутил вниз?

Заранее спасибо! =)

Ответы [ 3 ]

2 голосов
/ 26 июня 2009

Более конкретно в вашем случае, document.body.scrollTop.

Тем не менее, это довольно специфично для IE, что противоречит цели большинства расширений FireFox. ;-) Есть также некоторые зависимости DTD для загрузки.

Это похоже на то, что вы хотите: Определение размеров браузера и смещения прокрутки документа

1 голос
/ 25 июня 2009

Я думаю, вы ищете что-то вроде scrollTop свойство:

scrollTop получает или устанавливает количество пикселей, на которое содержимое элемента прокручивается вверх.

0 голосов
/ 19 сентября 2010

@ WAI - Хорошо, что вы сказали правильно, но именно вам придется использовать следующее, если вы работаете над расширением Firefox:

window.content.pageXOffset 

OR

window.content.pageYOffset
...