풍선도움말...

호가계부를 시작페이지로

은행 카드 증권 보험 부동산

     
My 즐겨찾기 수정
[무료]  오늘의 운세  /  바이오리듬
여기는 회원님이 직접 등록하신
즐겨찾는 사이트가 출력됩니다.
컴퓨터와 관련있는 모든 팁을 공유합시다.

말풍선 위치 계산 (마우스 포인터 위치계산)

호가계부|2019-01-14 15:47:11|조회 : 3260
웹프로그램을 제작하다보면 마우스 포인터가 위치하는 곳에 도움말을 제공하는 기능을 만들때가 있습니다.

이때 중요한 것은 마우스 포인터의 위치를 알아내는 것인데, 스크롤바가 없을때는 쉽게 알아낼수 있는데, 스크롤바가 있을때는 각 브라우저마다 알아내는 구문이 달라서 애로를 격습니다.

우선 스크롤 바가 없을때는 자바스크립트에서 event.clientX, event.clientY 해서 X 값과 Y 값을 알수 있습니다.

그렇지만 스크롤바가 생길경우에는 스크롤바가 움직인 거리를 추가적으로 더해줘야 합니다.
그런데 브라우저 마다 구문이 틀려서 저는 다음과 같이 사용합니다.

// 익스플로로, 크롬, 사파리 일때와 그렇지 않을때로 구분
if ( navigator.appName == 'Netscape') {
var scrolltop = document.documentElement.scrollTop;
var clientheight = document.documentElement.clientHeight;
var scrollwidth = document.documentElement.scrollWidth;
var clientwidth = document.documentElement.clientWidth;
} else {
var scrolltop = document.body.scrollTop;
var clientheight = window.innerHeight;;
var scrollwidth = document.body.scrollWidth;
var clientwidth = document.body.clientWidth;
}

scrolltop : 스크롤이 상하로 움직인 거리
scrollwidth : 스크롤이 좌우로 움직인 거리
clientheight : 웹브라우저 내부의 높이
clientwidth : 웹브라우저 내부의 가로

그래서 마우스 포인터의 X 값은 scrollwidth + event.clientX 이고
마우스 포인터의 Y 값은 scrolltop + event.clientY 입니다.






TAG : javascript  scrollTop  scrollWidth  clientHeight  clientWidth  innerHeight  clientX  clientY 


번호 제             목 첨부 작 성 일 작성자 조회
111  

[Javascript] confirm 클릭 확인받기

  2019-10-09 호가계부 65
110  

[HTML][CSS] 페이지 넘김 및 프린터 출력 여백 설정

  2019-09-30 호가계부 153
109  

[javascript] window.open으로 오픈한 자식창에서 부모창 태그 ...

  2019-09-27 호가계부 152
108  

[jQuery] 익스플로러 외 날짜 입력박스 사용하기(input type dat...

2019-09-23 호가계부 306
107  

[JavaScript] 스크롤할때 메뉴바 상단에 고정하기

(1)
  2019-09-11 호가계부 370
106  

CSS3 미디어쿼리 @media 규칙 이해.

  2019-09-09 호가계부 734
105  

[엑셀] 특정 자릿수 숫자 반올림

  2019-08-22 호가계부 314
104  

[Android] Chrome Custom Tabs 시작하기

(2)
  2019-08-17 호가계부 608
103  

[Android] 상태바 없애기

2019-08-13 호가계부 466
102  

[Android] 타이틀바 없애기

2019-08-13 호가계부 469
101  

[Android] ERR_CLEARTEXT_NOT_PERMITTED 웹뷰 호출 에러

  2019-08-11 호가계부 775
100  

Chrome 크롬 강력 새로고침 단축키

  2019-07-15 호가계부 1065
99  

홈페이지(웹브라우저) 창 가로 세로 확인 방법

  2019-07-07 호가계부 1234
98  

Html CSS 수직으로 중앙 정렬 하는 방법

  2019-07-05 호가계부 1004
97  

textarea 엔터키 입력할때마다 입력박스 높이를 증가시키는 자바...

(1)
  2019-06-19 호가계부 1372
96  

javascript encodeURI -> php EUC-KR decode

(1)
  2019-06-18 호가계부 1225
95  

윈도우 창 단축키

  2019-06-07 호가계부 1096
94  

컴퓨터 종료시간 예약하기

2019-03-22 호가계부 2207
93  

말풍선 위치 계산 (마우스 포인터 위치계산)

  2019-01-14 호가계부 3261
92  

[Javascript] 날짜 유효성 검사

  2018-09-13 호가계부 2902
처음으로 앞으로 | [1] 2 3 4 5 6 | 다음 마지막