2011-08-20 5 views
0

자바 스크립트를 사용하여 페이지의 영역을 선택하는 위젯을 만들려고 노력하고 있지만 X/YWidth/Height을 저장할 때 실제로는 해당 화면 크기에만 관련이 있으므로 문제가 발생하면 해당 선택 영역을 그려야합니다. 다른 사용자의 컴퓨터에서는 올바른 위치에서 벗어날 것입니다.화면 크기에 상관없이 위치를 추적하는 방법은 무엇입니까?

사용자의 화면 크기에 관계없이 xy 위치를 추적하고 유지하는 방법은 무엇입니까?

+0

"position : fixed;"? – wukong

+1

질문에 의미가 없습니다. 화면 크기가 픽셀 기반 좌표계에 어떤 영향을 줍니까? –

+0

웹 사이트는 대부분 중앙에 위치하며 픽셀 좌표는 왼쪽/위부터 계산되므로 큰 화면의 경우 왼쪽에 훨씬 넓은 흰색 공간이 표시되므로 생각하면됩니다. – Ryan

답변

2

obj.offsetLeftobj.offsetTop은 항상 0,0 인 상단/왼쪽 구석에 상대적입니다.

  • 센터 X = window.innerWidth/2;
  • 센터 Y = window.innerHeight/2;
  • 개체 폭 = elementNode.offsetWidth;
  • 개체 높이 = elementNode.offsetHeight;

위치가 화면의 중앙에 개체 :

el = document.getElementById('my_div'); 
el.style.position = 'absolute'; 
el.style.left = Math.floor((window.innerWidth/2) - (el.offsetWidth/2)) + 'px'; 
el.style.top = Math.floor((window.innerHeight/2) - (el.offsetHeight/2)) + 'px'; 

실무 데모 : http://jsfiddle.net/4aenr/

+0

그래도 문제가 해결되지 않으면 제 의견을 읽어주십시오. – Ryan

관련 문제