头疼的问题,求解
我的导航用DIV做的。导航下面是body页面body页面中,有select列表框,当我鼠标放到导航上时,显示下面的导航,但是,此时,select 列表就会遮盖住div导航,怎么让它不遮盖住啊?
[解决办法]
select的优先级太高好想总是在上面不能被遮盖。126邮箱的做法是在显示div时将select隐藏掉当不再显示时再显示select,或者不用select用text 图片 和div来模拟
[解决办法]
我也遇到过此问题,select是不能被div,span等组件覆盖的。
唯一的办法就是,导航时将该document.all.tags('SELECT')[i].style.visibility = 'hidden';
,用完以后再document.all.tags('SELECT')[i].style.visibility = 'visible';
[解决办法]
我有个简单的方法
function selectFix(odiv){ if(document.all) { var oiframe = document.createElement("iframe"); oiframe.frameBorder=0; oiframe.style.position="absolute"; oiframe.style.zIndex=-1; if(odiv.childNodes.length>0) { odiv.appendChild(oiframe); } else { odiv.insertBefore(oiframe,odiv.firstChild); } odiv.onresize = function(){ oiframe.style.width = this.clientWidth; oiframe.style.height = this.clientHeight; } }}
[解决办法]
其实就是在div的最前面插入一个浮动的iframe 并且通过style.zIndex将其设置为在Div的最底层。大小与DIV的大小相等。这样就可以帮助div遮挡select,并且无需做其他处理。
function selectFix(odiv)//odiv是你的div实例{ if(document.all)//简单判断是否是IE(我偷懒了) { var oiframe = document.createElement("iframe");//创建iframe oiframe.frameBorder=0; oiframe.style.position="absolute";//浮动 oiframe.style.zIndex=-1;//放在最后面 if(odiv.childNodes.length>0)//将iframe插入到div的最前面 { odiv.appendChild(oiframe); } else { odiv.insertBefore(oiframe,odiv.firstChild); } //如果div改变大小 就靠这个事件改变iframe的大小 odiv.onresize = function(){ oiframe.style.width = this.clientWidth; oiframe.style.height = this.clientHeight; } odiv.onresize();//不好意思,忘了先调用一次了。 }}
[解决办法]
如楼上的,就是利用一个与select同级的iframe来档住select。iframe和层的位置、宽度高度一样,透明度设为0就得了,而且这问题是IE6才有,IE7和FireFox不会有这问题。