2011-04-08 8 views
0

잠시 동안 창을 가상 중심에서 100px로 div를 배치하는 데 어려움을 겪고 있습니다.자바 스크립트를 사용하여 창 가운데에서 특정 거리에 div를 배치하십시오.

내 코드하고 있습니다 : 중간 창/2 + 100 픽셀과 내가 원하는되지 않습니다 : 창 크기에 따라이 내 DIV 왼쪽으로가는 코드와 권리를 사용

var middle = screen.availWidth/2; 
var position = middle+300; 
document.getElementById('bookmarks').style.left = position + 'px'; 

과 나는 그것이되고 싶어 센터에서 100px로 전혀 움직이지 않습니다.

또한 브라우저에 따라 다르다는 것을 알고 있습니다.

이에 어떤 도움?

감사합니다. Vic

+0

계산시 div의 너비를 고려해야합니다. – Nick

+0

그래서 창 크기가 조정되면 중앙에 유지하고 싶습니까? – bcoughlan

답변

2

당신은 중간이라고 말하지만 어떤 축에서 말하지 않으므로 x와 y의 중간을 원한다고 가정하면 다음 코드를 사용할 수 있습니다. 참고 : div의 너비와 높이가 200 픽셀로 계산됩니다.

<body> 
<div style="background-color: #000000; height: 200px; width: 200px; position: fixed;" id="bookmarks"></div> 


<script> 
var middleX = window.innerWidth/2; 
var middleY = window.innerHeight/2; 
var positionX = middleX-100; 
var positionY = middleY-100; 
document.getElementById('bookmarks').style.left = positionX + 'px'; 
document.getElementById('bookmarks').style.top = positionY + 'px'; 

</script> 
</body> 

또한이 작업을보다 명확하게 수행 할 수 있습니다. 나는 당신이 논리를 이해하고 나중에 스스로 청소할 수 있도록 이것을 남겼습니다. 그리고 당신은 그것을 움직이기를 원하지 않는다고 말했기 때문에 나는 당신이 위치를 원한다고 생각했습니다.

관련 문제