웹사이트의 기능상 레이어를 사용하여 특정 레이어가 동적으로 움직인 다거나 마우스를 따라 이동되는 등의 효과를 나타내게 작업을 해야 할 경우가 생긴다.
그런데 불행히도 Form 객체 중 하나인 <select></select> 객체가 화면에 존재할 경우 이들이 항상 최상위로 나타나는 문제가 있다.
이는 zindex 로도 해결이 되지 않는다.
이에 대한 해결은 무식한 방법이지만 해당 페이지의 모든 Select 객체를 감춰버리 는 것이다.
아래 함수는 이러한 역할을 한다.
function showSelects(bVisible) {
// only IE actually do something in here
var selects = [];
if (document.all)
selects = document.all.tags("SELECT");
var l = selects.length;
for (var i = 0; i < l; i++)
selects[i].runtimeStyle.visibility = bVisible ? "" : "hidden";
}
레이어 스크립트 적용시 같이 적용하면 됨.
레이어 작업시 showSelects(false) 로 감춰 버리고 다시 showSelects(true) 로 보여지게 하면 된다.
사용예)
예를 들어서 레이어적용할 스크립트가
onmouseover='showBox();'
onmouseout='hideBox();'