2009-06-25 2 views
1

좋은 하루 되세요.Firefox : 뷰포트의 왼쪽 위 모서리의 마우스 좌표를 가져옵니다.

저는 Firefox 확장 프로그램을 작업 중이며 마우스 커서에서 특정 오프셋에서 툴팁을 팝업하고 싶습니다. 그러나이 오프셋은 뷰포트 외부에있을 때 문제가 발생합니다. 그것은 표시되지만 사용자가 저기로 스크롤해야합니다. 현재 뷰포트 내에서 툴팁 팝업을 이동하여이 기능을 향상시키고 싶습니다.

그러나 문서에있는 유일한 단서는 마우스 위치이므로 문제가 발생합니다. 부분적인 해결책은 현재 마우스 좌표 + 툴팁 너비/높이를 알아 내고 window.innerHeight 또는 window.innerWidth를 초과하는지 확인하여 내 툴팁을 얼마나 움직일 지 계산하는 것입니다.

그러나 매우 긴 문서이고 사용자가 공정한 비트를 스크롤하면 마우스 좌표에 매우 큰 y 값이 있다는 것을 알게되었습니다. 따라서 window.innerHeight 만 사용하여 뷰포트 내에 있는지 확인할 수 없습니다. 사용자가 스크롤을 많이 내린 경우 뷰포트의 왼쪽 상단 구석의 마우스 좌표를 찾는 방법을 찾았습니까?

미리 감사드립니다. =)

답변

2

특히 귀하의 경우에는 document.body.scrollTop입니다.

그러나 IE의 특징은 꽤나 있습니다. 이는 대부분의 FireFox 확장 기능의 목적을 상실한 것입니다. ;-) 또한 부팅 할 일부 DTD 종속성이 있습니다.

이 당신이 원하는 다음과 같습니다 Determining browser dimensions and document scroll offsets

+0

어젯밤에 잠자리에 들기 전에 위의 답을 보았습니다. 시도해 보았습니다. 그러나 아침에 너무 일찍 일어나기 전에 잠들었습니다. scrollTop 값을 얻으려고했지만 알 수없는 이유로 인해 항상 0을 반환했습니다. window.pageXOffset 및 window.pageYOffset이 머리를 똑바로 세운다. 고마워요! =) 나는 새로운 것을 배웠다. 나는 행복하다. 그리고 내가 할 수 있으면 이것을 두 번 upvote 할 것이다. – wai

1

난 당신이 scrollTop 재산 같은 것을 찾고있는 생각 :

scrollTop을 가져 오거나 요소의 내용이 위로 스크롤 픽셀 수를 설정합니다.

+0

단서를 가져 주셔서 감사합니다. 더 조사 할 것이다. – wai

0

@WAI - 그럼 무엇을 당신이 말한 것은 정확하지만 정확하게 당신이 파이어 폭스 확장을 위해 작업하는 경우 다음을 사용해야합니다 :

window.content.pageXOffset 

OR

window.content.pageYOffset 
관련 문제