简单解决IE6中浮动 div 被 select 遮盖问题

      在页面使用多个浮动div的时候(尤其在动态生成的列表中),如果恰好碰上旁边有个select,那是一件很烦恼的事(IE6下比较耀眼的特点,IE7和FF就没有)——浮动div会给select遮盖了。
      解决方法很简单
      先在页面任意位置放置一个空的隐藏iframe
      <iframe id="iFrm" style="position:absolute;z-index:1;display:none;" frameborder="0" />
      然后在文件头的js里面,将这个iframe的高度、宽度、OffsetTop、OffsetLeft设置得和div的一样,
      这样,iframe就会作为div的底部(当然,div的z-index属性要设置得比iframe要高),而浮动div就不会被select给遮盖了

        function showCabinListPanel(obj, Id) {
            $(".CabinListPanel").hide();
            var clp = $("#" + Id);
            var CLP_Offset = document.getElementById(Id);
            var e = $(obj);
            var Frm = document.getElementById("iFrm");
           
            CLP_Offset.style.top = e.offset().top + e.height();
            CLP_Offset.style.left = e.offset().left + e.width() - $(CLP_Offset).width() + 3;
            Frm.style.top = CLP_Offset.style.top;
            Frm.style.left = CLP_Offset.style.left;
            $(Frm).width(clp.width());
            $(Frm).height(clp.height() + 2);

            clp.css("position", "absolute");
            clp.show();
            $(Frm).show();

}

 

posted @ 2009-07-28 16:13  Lesley  阅读(852)  评论(0编辑  收藏  举报