日期:2014-05-16  浏览次数:20420 次

头疼的问题,求解
我的导航用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';
------解决方案--------------------
我有个简单的方法

JScript code
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,并且无需做其他处理。

JScript code
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不会有这问题。