리자

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

· 2004-12-13 (월) 14:52:04 · 7014
<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>
|
댓글을 작성하시려면 로그인이 필요합니다.

프로그램

8,188건
+
제목 글쓴이 날짜 조회
05-08-01 조회 3,939
05-07-24 조회 5,324
05-07-16 조회 5,424
bbbking
05-07-08 조회 3,242
bbbking
05-07-08 조회 3,063
bbbking
05-07-08 조회 8,691
05-07-01 조회 3,254
05-06-30 조회 4,624
05-06-24 조회 5,097
05-06-24 조회 3,337
05-06-21 조회 6,720
05-06-17 조회 4,540
05-06-15 조회 5,363
05-05-04 조회 3,593
05-04-11 조회 4,704
05-04-04 조회 5,117
05-04-02 조회 3,514
05-03-30 조회 3,215
05-03-15 조회 3,353
05-03-15 조회 3,037
05-03-14 조회 2,532
05-03-13 조회 2,741
05-03-13 조회 2,885
05-03-13 조회 2,722
05-03-13 조회 2,968
05-03-13 조회 4,560
05-03-13 조회 3,103
05-03-13 조회 2,531
05-03-13 조회 2,555
05-03-13 조회 2,416
05-03-13 조회 3,595
05-03-13 조회 2,631
05-03-13 조회 2,647
05-03-13 조회 3,128
05-03-13 조회 3,408
05-03-13 조회 3,002
05-03-13 조회 2,942
05-03-13 조회 3,632
05-03-13 조회 2,577
05-03-13 조회 4,074
05-03-13 조회 2,796
05-03-13 조회 3,160
05-03-13 조회 2,636
05-03-13 조회 3,822
05-03-13 조회 2,499
05-03-12 조회 4,825
05-02-04 조회 3,408
04-12-13 조회 7,015
04-12-01 조회 3,321
04-11-30 조회 3,392
04-11-30 조회 2,708
04-11-30 조회 2,604
04-11-30 조회 4,018
04-11-29 조회 3,751
04-11-28 조회 3,675
04-11-28 조회 3,968
04-11-28 조회 3,439
04-11-28 조회 2,957
04-11-28 조회 3,512
04-11-24 조회 3,170
04-11-23 조회 2,966
04-11-17 조회 2,957
04-11-12 조회 3,248
04-11-12 조회 2,602
04-11-10 조회 3,837
04-08-23 조회 4,272
04-08-09 조회 4,991
04-08-08 조회 4,691
04-08-05 조회 6,519
03-09-26 조회 5,174