리자

셀렉트박스와 레이어가 겹칠시 레이어가 셀렉트 박스 뒤로 숨는 현상을 해결하는 함수

· 21년 전 · 6224
<script language='JavaScript'>
// Internet Explorer에서 셀렉트박스와 레이어가 겹칠시 레이어가 셀렉트 박스 뒤로 숨는 현상을 해결하는 함수
// 레이어가 셀렉트 박스를 침범하면 셀렉트 박스를 hidden 시킴
// 사용법 :
// <div id=LayerID style="display:none; position:absolute;" onpropertychange="selectbox_hidden('LayerID')">
function selectbox_hidden(layer_id)
{
var ly = eval(layer_id);

// 레이어 좌표
var ly_left = ly.offsetLeft;
var ly_top = ly.offsetTop;
var ly_right = ly.offsetLeft + ly.offsetWidth;
var ly_bottom = ly.offsetTop + ly.offsetHeight;

// 셀렉트박스의 좌표
var el;

for (i=0; i<document.forms.length; i++) {
for (k=0; k<document.forms[i].length; k++) {
el = document.forms[i].elements[k];
if (el.type == "select-one") {
var el_left = el_top = 0;
var obj = el;
if (obj.offsetParent) {
while (obj.offsetParent) {
el_left += obj.offsetLeft;
el_top += obj.offsetTop;
obj = obj.offsetParent;
}
}
el_left += el.clientLeft;
el_top += el.clientTop;
el_right = el_left + el.clientWidth;
el_bottom = el_top + el.clientHeight;

// 좌표를 따져 레이어가 셀렉트 박스를 침범했으면 셀렉트 박스를 hidden 시킴
if ( (el_left >= ly_left && el_top >= ly_top && el_left <= ly_right && el_top <= ly_bottom) ||
(el_right >= ly_left && el_right <= ly_right && el_top >= ly_top && el_top <= ly_bottom) ||
(el_left >= ly_left && el_bottom >= ly_top && el_right <= ly_right && el_bottom <= ly_bottom) ||
(el_left >= ly_left && el_left <= ly_right && el_bottom >= ly_top && el_bottom <= ly_bottom) )
el.style.visibility = 'hidden';
}
}
}
}

// 감추어진 셀렉트 박스를 모두 보이게 함
function selectbox_visible()
{
for (i=0; i<document.forms.length; i++) {
for (k=0; k<document.forms[i].length; k++) {
el = document.forms[i].elements[k];
if (el.type == "select-one" && el.style.visibility == 'hidden')
el.style.visibility = 'visible';
}
}
}
</script><div class='small'>[이 게시물은 관리자님에 의해 2011-10-31 17:16:08 PHP & HTML에서 이동 됨]</div>
|
댓글을 작성하시려면 로그인이 필요합니다.

프로그램

+
제목 글쓴이 날짜 조회
20년 전 조회 2,096
20년 전 조회 2,800
20년 전 조회 1,755
20년 전 조회 1,640
20년 전 조회 2,583
20년 전 조회 1,499
20년 전 조회 1,750
20년 전 조회 3,248
20년 전 조회 1,901
20년 전 조회 1,635
20년 전 조회 4,962
20년 전 조회 4,594
20년 전 조회 3,530
20년 전 조회 3,802
20년 전 조회 7,079
20년 전 조회 3,567
20년 전 조회 2,636
20년 전 조회 2,631
20년 전 조회 7,196
20년 전 조회 4,602
20년 전 조회 1,910
20년 전 조회 3,268
20년 전 조회 1,966
20년 전 조회 1,566
20년 전 조회 2,321
20년 전 조회 1,800
20년 전 조회 1,472
20년 전 조회 1,824
20년 전 조회 2,998
20년 전 조회 2,457
20년 전 조회 1,752
20년 전 조회 1,678
20년 전 조회 4,001
20년 전 조회 2,941
20년 전 조회 3,665
20년 전 조회 3,455
20년 전 조회 3,758
20년 전 조회 8,588
20년 전 조회 2,609
21년 전 조회 3,763
21년 전 조회 3,223
21년 전 조회 2,613
21년 전 조회 2,686
21년 전 조회 2,599
21년 전 조회 2,880
21년 전 조회 3,057
21년 전 조회 5,316
21년 전 조회 3,923
21년 전 조회 4,970
21년 전 조회 6,225
21년 전 조회 7,354
21년 전 조회 1.8만
21년 전 조회 6,898
21년 전 조회 2,896
21년 전 조회 4,155
21년 전 조회 2,498
21년 전 조회 4,323
21년 전 조회 2,907
21년 전 조회 2,265
21년 전 조회 2,481
21년 전 조회 2,239
21년 전 조회 2,576
21년 전 조회 1,756
21년 전 조회 1,587
21년 전 조회 1,646
21년 전 조회 2,132
21년 전 조회 1,891
21년 전 조회 2,389
21년 전 조회 3,582
21년 전 조회 1,583
21년 전 조회 1,778
21년 전 조회 3,196
21년 전 조회 2,363
21년 전 조회 3,185
21년 전 조회 2,897
21년 전 조회 3,317
21년 전 조회 5,138
21년 전 조회 2,545
21년 전 조회 4,835
21년 전 조회 2,520
21년 전 조회 3,131
21년 전 조회 7,638
21년 전 조회 3,848
21년 전 조회 3,226
21년 전 조회 4,717
21년 전 조회 2,917
21년 전 조회 6,245
21년 전 조회 4,500
21년 전 조회 5,800
21년 전 조회 3,650
21년 전 조회 5,985
21년 전 조회 3,129
21년 전 조회 2,846
21년 전 조회 2,645
21년 전 조회 2,454
21년 전 조회 2,660
21년 전 조회 2,687
21년 전 조회 3,806
21년 전 조회 2,830
21년 전 조회 2,477