`
langzhiwang888
  • 浏览: 182109 次
  • 性别: Icon_minigender_1
  • 来自: 青岛
社区版块
存档分类
最新评论

IE6情况下使用jquery.bgiframe.js插件解决下拉列表框被遮盖BUG

 
阅读更多

IE6情况下,如果网页上下拉选单重叠时,会看到下拉选框总是把浮动区块div覆盖住,bgiframe 插件解决IE6 的这个

bug. 
首先去jquery 官方网下载 jquery.bgiframe.js ,然后在jsp页面引入 <script type="text/javascript" src="scripts/jquery.bgiframe.js"></script>

 或者<script type='text/javascript' src='<%= request.getContextPath()%>/scripts/jquery.bgiframe.js'></script>

 

<script type="text/javascript"> 

 

     $(document).ready(function() {  
         $('#dialog').bgiframe();                   //dialog是浮动区块div的id.
      });

 

</SCRIPT>

或者

<script type="text/javascript"> 

       $(function() {     

              $('#dialog'').bgiframe();        

        });     

</SCRIPT>

*******************************************************

使用的是Jquery UI dialog的时候,可以利用UI dialog的属性达到这个目的。(这个方法更简单)

 $(document).ready(function(){  
  $('#dialog').dialog({
     autoOpen: false,                 
     height:600,
     width: 900,
     bgiframe: true ,          //解决下拉框遮盖div的bug
     resizable: false,         //dialog的大小不可以改变
     draggable:false         //dialog不可以拖动
  });
 });

*******************************************************

在IE6下,当div下方有下拉列表框select元素的时候,下拉列表框会划破div显示在div之上,不论z-index设为何值均会出现此问题,可能由于下拉列表控件的弹出式下拉列表的原因导致Z轴高度失控。但是IE6有一个神奇的逻辑,div 无法覆盖select,但是iframe 可以覆盖select,而div可以覆盖iframe,所以解决办法就是用Z轴高度更高的Iframe元素,包裹或覆盖住下拉列表框控件,使其回到正常的Z轴高度上来!

解决办法一:Iframe包裹select元素
<iframe style="z-index:1" style="z-index:1"><!-- 用iframe 解决此bug -->     
            <select name="country">                    
                 <option value="1">china</option>     
                <option value="2">japanese</option>     
                <option value="1">U.S.A</option>     
             </select>     
</iframe>   
解决办法二:以Iframe作为div的子元素,覆盖select元素
.T_iframe   
{   
    position: absolute;/*绝对定位保证iframe不会占用流布局空间*/   
    width: 100%;    /*100%保证可以覆盖整个div*/   
    height: 100%;   
    z-index:-1; /*-1保证iframe显示在div下方*/   
}   
.T_div   
{   
    position: absolute;   
    left:100px;   
    top:50px;   
    width: 300px;   
    height: 200px;   
    background : blue;     
    z-index:100;   
}   
<div class="T_div">  
     <span>这里可以包含其他dom元素</span>  
     <iframe class="T_iframe"></iframe>  
</div> 


     这样嵌入了iframe的div就不怕被select划破了,方法一使用比较简单,但是应用存在局限,不可能在所有的select元素外添加iframe。方法二有的放矢,在需要的div上面添加iframe,是常见的解决办法。

分享到:
评论

相关推荐

    jquery.bgiframe.js

    IE6下解决弹出div 被父页面的select 覆盖的问题,使用jquery 的dialog div 进行增加,删除,修改等操作。 这个是IE6下特有的问题。 下面是解决方法: 1.下载jquery.bgiframe.js ,在我的下载资源中有 2.需要修改...

    jquery.bgiframe.min.js

    JS包,可以用来规范一些JS限制问题,比如DIV被 select覆盖

    jQuery UI dialog IE6下处理select框被遮挡jquery.bgiframe.js

    jQuery UI dialog IE6下处理select框被遮挡jquery.bgiframe.js

    前端项目-jquery-bgiframe.zip

    1. bgiframe.js:这是jQuery-bgiframe插件的主要JavaScript文件。它包含了所有用于创建和管理背景iframe的代码。你可以通过在你的HTML文件中引入这个脚本,并调用jQuery的$.fn.bgiframe方法来应用插件。 2. 示例或...

    解决DIV在IE下被下拉列表select穿透的问题(二)

    标题"解决DIV在IE下被下拉列表select穿透的问题(二)"所提及的,是一个典型的IE浏览器特有的问题。这个问题涉及到HTML中的`&lt;div&gt;`元素和`&lt;select&gt;`下拉列表之间的交互,具体表现为在Internet Explorer(特别是旧版本...

    jquery.bgiframe.js在IE9下提示INVALID_CHARACTER_ERR错误

    jquery.bgiframe.js在IE9下的错误 代码如下: SCRIPT5022: DOM Exception: INVALID_CHARACTER_ERR (5) jquery.bgiframe.js, 行8 字符976 错误代码 代码如下: 1 {if(!$(‘iframe.bgiframe’,this)[0])this....

    jquery.multiSelect下拉多选

    6. `jquery.bgiframe.min.js`:这是一个背景iframe插件,用于解决在某些IE浏览器中的Z-index问题,确保下拉框能正确显示在其他元素之上。 使用jQuery.multiSelect的基本步骤如下: 1. 在HTML中创建一个`&lt;select&gt;`...

    jquery实现autocomplete插件(文本框下拉选项).zip

    6. `jquery.bgiframe.pack.js`:这个插件用于解决IE浏览器的背景透明问题,使下拉列表在所有浏览器中都能正确显示。 在使用jQuery实现Autocomplete插件时,主要步骤如下: 1. 引入依赖:确保HTML文件中引入了...

    jquery多选框

    4. `jquery.bgiframe.js`:这是一个jQuery插件,主要用于解决在IE6和IE7下浮动元素与背景图片重叠的问题,确保多选框在这些旧版浏览器中的正确显示。 5. `前端页面.text`:这个文件很可能包含了一个或多个示例页面...

    bgiframe插件解决IE6 DIV档不住下拉选择框

    总的来说,`bgiframe`插件是解决IE6浏览器中`z-index`问题的有效工具,尤其适用于需要创建遮罩效果或需要浮动元素遮挡下拉选择框的情况。尽管现代浏览器已经不再存在这些问题,但在维护旧项目或支持仍在使用IE6的...

    jquery日历插件

    `jquery.bgiframe.min.js`是一个jQuery插件,主要用于解决在IE浏览器中,浮动元素与背景图像之间的Z-index问题。在某些情况下,它可以帮助确保日历插件在所有浏览器上的表现一致。 `source`目录可能包含了插件的源...

    bgiframe_2.1.1.zip

    然而,当对话框被设置为透明或者半透明时,一些浏览器(尤其是较旧版本的Internet Explorer)会出现背景闪烁或显示不全的问题,这就是bgiframe插件要解决的关键问题。 bgiframe插件的工作原理是,在对话框元素后面...

    JQuery写的日期控件

    `jquery.bgiframe.min.js` 是一个JQuery插件,它创建了一个背景iframe,用于解决某些浏览器下的Z-index问题,确保日期弹出框在所有情况下都能正确显示。 `datePicker.css` 文件包含了日期控件的样式定义,它决定了...

    JS147-46jquery日历实用代码

    7. **jquery.bgiframe.min.js**:这是一个jQuery插件,用于在IE浏览器下解决浮动元素的背景显示问题。在这个日历插件中,它可能用于确保日历在有IFrame的页面上正确显示。 8. **易泡素材网.txt**:这可能是一个来源...

    jquery.dialog插件参数说明

    当`bgiframe`设置为`true`时,对话框下方会插入一个背景iframe,用于解决在Internet Explorer浏览器中,弹窗无法覆盖下拉菜单或`&lt;select&gt;`元素的问题。启用方式如下: ``` $(".class").dialog({bgiframe:true}); ```...

    点击input输入框弹出选择层(基于jquery)

    `jquery.bgiframe.js`是一个旧版的jQuery插件,用于解决IE浏览器下的背景透明问题,确保选择层能正确显示在其他元素之上。`jquery-1.3.1.js`是jQuery的核心库文件,包含了大部分jQuery功能。 5. **网页特效和模板**...

    经典jquery日历代码

    bgiframe是jQuery的一个插件,主要用于解决IE6下的透明背景问题。在某些情况下,它可以使元素的背景在IE6中正确显示,特别是在浮动元素和绝对定位的情况下。 6. **使用说明.txt**: 这个文件提供了关于如何集成和...

Global site tag (gtag.js) - Google Analytics