IE6中select挡住DIV的BUG

前阵子碰到一个问题,就是在IE6中select会把浮动的DIV给挡住,通常情况都是用JS控制某个DIV显示隐藏的情况下发生的。这冲时候不管怎么设z-index值都没有用。

ttttt

我也查了很多资料,说这是IE6的一个BUG(哎,万恶的IE6),解决的办法不外乎两种:1、用DIV模拟一个select出来。2、在隐藏层的底部加一个透明的iframe。第一种感觉花的工夫比较大,暂时就用第二种方法了,我这个原本用的是jquery的框架,这里我就把jquery的帖上来了。在你要调用的JS文件里加上这么一段:

1
2
3
4
5
6
7
8
9
10
11
12
(function($){$.fn.bgIframe=$.fn.bgiframe=function(s){
if($.browser.msie&&/6.0/.test(navigator.userAgent))
{s=$.extend({top:'auto',left:'auto',width:'auto',height:'auto',opacity:true,
src:'javascript:false;'},s||{});var prop=function(n){
return n&&n.constructor==Number?n+'px':n;},html='<
iframe frameborder="0"tabindex="-1"src="'+s.src+'"'+'style="display:block;
position:absolute;z-index:-1;top:0;left:0;width:100%;height:100%;
filter:alpha(opacity=0);-moz-opacity:0;"/>';
return this.each(function()
{if($('> iframe.bgiframe',this).length==0)
this.insertBefore(document.createElement(html),this.firstChild);
});}return this;};})(jQuery);

然后在你应用的页面调用

1
2
3
4
5
<script>
  $(document).ready(function(e){
   $('.your_class').bgiframe();
 })//其中your_class是被挡住的层的类名。
</script>

相关文章

Moondy 发表于 2009-5-11 3,801 Views | 类别: Xhtml/Css

5条留言 立即发表评论

  1. #1aa @ 2010-2-3 14:06 回复

    alert(‘hi~~~~ :)’);

    • moondy @ 2010-2-3 16:21 回复

      这位朋友是想测试下弹窗么 :icon02

    • 卜卜口の @ 2010-7-24 08:54 回复

      :icon47 好犀利的评论

  2. #2匿名 @ 2010-8-18 17:17 回复

    :icon05

  3. #3匿名 @ 2010-8-18 17:33 回复

    你上面jquery插件有错哦。。

评论

:icon07 :icon02 :icon16 :icon23 :icon37 :icon05 :icon38 :icon35 more »
(Ctrl + Enter)