묻고답하기
레이어 팝업이 뜨는 위치를 통일할 수 있을까요? (소스 첨부)
2010.05.13 15:20
아래 소스인데요...
클릭하면 그 자리에서 띄우는데 여러 링크를 가로로 나열해서 사용할 경우
왼쪽에 있는 링크는 알맞게 뜨지만 오른쪽으로 갈수록 레이어 팝업이 짤려버립니다.
띄우는 위치를 링크된 위치에서 부터의 설정값 지정 말고 통일할 수 없을까요?
링크된 위치에 관계없이 지정된 한 군데서만 뜨게끔...
가능하면 해상도에 관계없이 모니터 정가운데 뜨도록 했으면 좋겠는데...
아주 좋은 소스인데 뜨는 위치가 제각각이라ㅠㅠ
고수님들 도움 좀 부탁드립니다!
<html>
<head>
<title>http://www.xpressengine.com</title>
<script type="text/javascript">
<!--
function move_box(an, box) {
//링크된 위치에서 부터의 설정값 지정
var cleft = 20; //왼쪽마진
var ctop = -10; //상단마진
var obj = an;
while (obj.offsetParent) {
cleft += obj.offsetLeft;
ctop += obj.offsetTop;
obj = obj.offsetParent;
}
box.style.left = cleft + 'px';
ctop += an.offsetHeight + 8;
if (document.body.currentStyle &&
document.body.currentStyle['marginTop']) {
ctop += parseInt(
document.body.currentStyle['marginTop']);
}
box.style.top = ctop + 'px';
}
function show_hide_box(an, width, height, borderStyle) {
var href = an.href;
var boxdiv = document.getElementById(href);
if (boxdiv != null) {
if (boxdiv.style.display=='none') {
move_box(an, boxdiv);
boxdiv.style.display='block';
} else
boxdiv.style.display='none';
return false;
}
boxdiv = document.createElement('div');
boxdiv.setAttribute('id', href);
boxdiv.style.display = 'block';
boxdiv.style.position = 'absolute';
boxdiv.style.width = width + 'px';
boxdiv.style.height = height + 'px';
boxdiv.style.border = borderStyle;
boxdiv.style.backgroundColor = '#fff';
var contents = document.createElement('iframe');
contents.scrolling = 'no';
contents.frameBorder = '0';
contents.style.width = width + 'px';
contents.style.height = height + 'px';
contents.src = href;
boxdiv.appendChild(contents);
document.body.appendChild(boxdiv);
move_box(an, boxdiv);
return false;
}
</script>
</head>
<body>
레이어 팝업창 안에 HTML파일 및 외부사이트를 보여줄 수 있습니다.<p>
<a href="http://www.xpressengine.com" onClick="return show_hide_box(this,440,300,'1px solid')">여기를 클릭하세요..</a>
답변이 없어서 포인트 회수