在我们做弹出遮罩层时经常遇到这种问题,就是select被这罩住不兼容IE6,其实解决这种问题并不难,只要掌握住原理就挺简单的。
首先就是当遮罩层出现时select要暂时隐藏,但是不能用display:none;
要用visibility:hidden;这样select的虽然隐藏但位置还在。
下面是js代码:
<script language="javascript">
function f(o){
o.style.display = "none";
document.getElementBy Id("hidediv").style.display = "";
var sels = document.getElementsBy Tag Name("SELECT");
for(var i=0; i<sels.length; i++){
sels[i].style.visibility = "hidden";
}
}
</script>
下面是html代码:
<div><select style="margin:10px 0 0 200px"><option>IE6下select被这罩住</option></select>
</div>
<div><select style="margin:10px 0 0 200px"><option>IE6下select被这罩住</option></select>
</div>
<div><select style="margin:10px 0 0 200px"><option>IE6下select被这罩住</option></select>
</div><div id="hidediv" style="display:none;position: absolute; z-index:100; left: 0px; top: 0px; background:#000; width: 100%; opacity: 0.3;filter:Alpha(opacity=30); height: 2000px;">
<iframe style="width:100%;height:100%;filter:Alpha(opacity=0);" border="0" frameborder="0"></iframe>
</div>
<button onclick="f(this);">显示遮罩层</button>