Jquery中文网 www.jquerycn.cn
Jquery中文网 >  脚本编程  >  javascript  >  正文 js鼠标滑过弹出层的定位IE6中bug的解决办法

js鼠标滑过弹出层的定位IE6中bug的解决办法

发布时间:2014-08-15   编辑:www.jquerycn.cn
情景:用div与css作网页时经常会用到弹出层,由于IE6的bug,当使用多个标签重复写弹出层的时候会遇到后面的层压在了弹出层的上面,这种问题在火狐浏览器下可以用z-index来解决,但是在IE6下无效。

情景:
用div与css作网页时经常会用到弹出层,由于IE6的bug,当使用多个标签重复写弹出层的时候会遇到后面的层压在了弹出层的上面,这种问题在火狐浏览器下可以用z-index来解决,但是在IE6下无效。

以下的代码,可以给大家提供解决此问题的一个思路,其原理如下:用jquery给弹出层的z轴依次增加高度。
 

复制代码 代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>弹出层问题的解决办法</title>
<style>
.box { width:800px; margin:10px auto; background:#f1f1f1; z-index:0; padding:10px;display:inline-table; text-align:center;}
.box ul li { width:150px; height:150px; float:left; border:solid 1px #ccc; background:#CCFF99; margin:10px; position:relative; list-style:none;}
.box ul li .layer { position:absolute; left:150px; top:0; width:120px; height:100px; background:#000; color:#fff; z-index:99999;}
</style>
<script src="jquery-1.3.2.min.js" type="text/javascript"></script>
</head>
<body>
<div class="box">
<ul id="boxcotent">
<li><a href="#">测试新闻标题一</a>
<div class="layer" style=" display:none;">
<a href="#">这里显示弹出层</a>
</div>
</li>
<li><a href="#">测试新闻标题一</a>
<div class="layer" style=" display:none;">
<a href="#">这里显示弹出层</a>
</div>
</li>
<li><a href="#">测试新闻标题一</a>
<div class="layer" style=" display:none;">
<a href="#">这里显示弹出层</a>
</div>
</li>
<li><a href="#">测试新闻标题一</a>
<div class="layer" style=" display:none;">
<a href="#">这里显示弹出层</a>
</div>
</li>
<li><a href="#">测试新闻标题一</a>
<div class="layer" style=" display:none;">
<a href="#">这里显示弹出层</a>
</div>
</li>
<li><a href="#">测试新闻标题一</a>
<div class="layer" style=" display:none;">
<a href="#">这里显示弹出层</a>
</div>
</li>
<li><a href="#">测试新闻标题一</a>
<div class="layer" style=" display:none;">
<a href="#">这里显示弹出层</a>
</div>
</li>
</ul>
</div>
<script type="text/javascript">
for(var i = 0; i < $(".box li").length;i++){
var j = 10000-i
$(".box li").eq(i).css("z-index",j);
}
$("#boxcotent li").hover(function(){
$(this).children(".layer").show();},function(){$(this).children(".layer").hide();}
);
$("#boxcotent li").hover(function(){
$(this).addClass("s");},function(){$(this).removeClass("s");}
);
</script>
</body>
</html>

以上JS代码需要引入jquery-1.3.2.min.js文件
关键JS代码
 

复制代码 代码如下:
for(var i = 0; i < $(".box li").length;i++){
var j = 10000-i
$(".box li").eq(i).css("z-index",j);
}

您可能感兴趣的文章:
js鼠标滑过弹出层的定位IE6中bug的解决办法
IE6下溢出多余文字解决方案Iebug
鼠标的滚轮失灵怎么办?
非常不错js弹出层效果代码
40个有创意的jQuery图片、内容滑动及弹出插件收藏集之一
boxy基于jquery的弹出层对话框插件扩展应用 弹出层选择器
Jquery.LazyLoad.js修正版下载,实现图片延迟加载插件
一个 utf-8 网页在 IE6下的BUG
ie6 position约对定位错位解决办法
JQuery插件fancybox无法在弹出层使用左右键的解决办法

[关闭]