JS+CSS实现简易实用的滑动门菜单效果
作者:像素漫游时间:2026-10-29 14:53:28浏览:242
本文介绍一种基于JavaScript与CSS实现的简易滑动门菜单效果。通过精简代码实现良好的浏览器兼容性,提供在线演示地址及完整HTML、CSS与JS源码,旨在为JavaScript程序设计人员提供参考与学习素材。
JS+CSS实现简易实用的滑动门菜单效果
本文通过实例展示了如何利用JavaScript和CSS技术实现一个简洁且实用的滑动门菜单效果,供读者参考学习。
该导航菜单设计注重代码的精简与跨浏览器的兼容性,旨在提供易于使用的滑动门交互体验,同时也希望为JavaScript开发者提供交流探讨的机会。
菜单的实际运行效果如下图所示:

如需查看在线演示,请访问以下地址:
http://demo.jb51.net/js/2015/js-css-simple-useful-menu-codes/
实现该效果的具体代码示例如下:
<html>
<head>
<title>简易实用,滑动门</title>
<meta http-equiv="Content-Type" content="text/html; charset=gbk" />
<style type="text/css">
*{margin:0;padding:0;}
a:link,a:visited{text-decoration:none;}
a:hover{text-decoration:none;}
ul{list-style:none;}
.subMenu{background:#333;float:left;padding-top:2px;width:100%;}
.subMenu li{float:left;}
.subMenu li a{display:block;float:left;color:#fff;height:25px;line-height:25px;padding:0 5px;margin-left:2px;}
.subMenu .thisStyle a {background:#fff;color:#000;}
.subContent{clear:both;border:2px solid #000;border-top:none;background:#fff;}
.subContent ul{display:none;padding:15px;line-height:180%;}
</style>
</head>
<body>
<ul class="subMenu">
<li class="thisStyle"><a href="javascript:void(0)">目录</a></li>
<li><a href="javascript:void(0)">列表</a></li>
<li><a href="javascript:void(0)">产品</a></li>
<li><a href="javascript:void(0)">新网</a></li>
</ul>
<div class="subContent">
<ul style="display:block;">
<li><a href="#">111111</a></li>
<li><a href="#">111111</a></li>
<li><a href="#">111111</a></li>
<li><a href="#">111111</a></li>
</ul>
<ul>
<li><a href="#">222222</a></li>
<li><a href="#">222222</a></li>
<li><a href="#">222222</a></li>
<li><a href="#">222222</a></li>
</ul>
<ul>
<li><a href="#">333333</a></li>
<li><a href="#">333333</a></li>
<li><a href="#">333333</a></li>
<li><a href="#">333333</a></li>
</ul>
<ul>
<li><a href="#">444444</a></li>
<li><a href="#">444444</a></li>
<li><a href="#">444444</a></li>
<li><a href="#">444444</a></li>
</ul>
</div>
<script>
function $_class(name){
var elements = document.getElementsByTagName("*");
for(s=0;s<elements.length;s++){
if(elements[s].className==name){
return elements[s];
}
}
}
//tab effects
var tabList = $_class("subMenu").getElementsByTagName("li")
tabCon = $_class("subContent").getElementsByTagName("ul");
for(i=0;i<tabList.length;i++){
(function(){
var t = i;
tabList[t].onmouseover = function(){
for(o=0;o<tabCon.length;o++){
tabCon[o].style.display = "none";
tabList[o].className = "";
if(t==o){
this.className = "thisStyle";
tabCon[o].style.display = "block";
}
}
}
})()
}
</script>
</bdoy>
</html>
希望本文提供的代码示例能对各位JavaScript程序开发工作有所帮助。
作者最新文章
D3.js 处理大规模数据点的性能优化策略
2026-11-05 15:37:25
JS实现网页摄像头实时扫码:结合getUserMedia与jsQR教程
2026-11-05 15:27:28
D3.js v5 迁移到 v7 的 API 变更与注意事项
2026-11-05 11:57:17
使用 animate.js 实现多元素协同的序列动画
2026-11-04 22:27:53
JS拖拽排序时怎么添加平滑动画效果?FLIP技术实战
2026-11-04 10:12:22
