js鼠标滑过弹出层的定位bug解决办法(转)
大家在写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);
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· [AI/GPT/综述] AI Agent的设计模式综述