ie6 select出现在层上面的解决方法

div在IE6下无法遮盖select,原因是在IE6下,浏览器将select元素视为窗口级元素,这时div或者其它的普通元素无论z-index设置的多高都是无法遮住select元素的。

问题如下图:

大小: 13.14 K
尺寸: 451 x 308
浏览: 665 次
点击打开新窗口浏览全图

而在IE7和FF下是正常的

大小: 53.92 K
尺寸: 451 x 308
浏览: 190 次
点击打开新窗口浏览全图

网上有两种解决办法:

1.当浮动层div出现的时候,用JS将select隐藏,当浮动层div消失的时候select恢复出现。

2.用select同级别元素:

iframe标签,<iframe frameborder="0"></iframe> 然后用实际的浮动层div和iframe放在一起。间接的使div遮住了select。

解决办法就是在浮动层的下面,加个透明的IFRAME,代码如下:

.innerHTML = '<iframe style="position:absolute;top:0;left:0;width:100%;height:100%;filter:alpha(opacity=0);"></iframe>'

注:如果要关闭弹出层请记得关闭iframe否者无法对页面进行操作了。

我这边的做法是:

给iframe加id=“div_iframe” 在关闭层的方法里加上 $("#div_iframe").remove();

资料来源:

http://www.footya.com/?action=show&id=6

http://www.cnblogs.com/cloudgamer/archive/2008/09/15/1290954.html【覆盖select】

 

posted @ 2012-05-28 10:59  kumat  阅读(2229)  评论(0)    收藏  举报