JS+CSS实现滑动切换tab菜单效果


Posted in Javascript onAugust 25, 2015

本文实例讲述了JS+CSS实现滑动切换tab菜单效果。分享给大家供大家参考。具体如下:

这是风格简单的一款JS+CSS滑动门特效代码,当鼠标滑过菜单的时候,二级菜单自动切换,鼠标不需要点击,滑动门效果是个比较流行的网页菜单效果,在网上经常可看到这种菜单的身影。本菜单在火狐、IE8、Chrome下测试通过,代码兼容性还可以,自己用的化再美化一下风格。

运行效果截图如下:

JS+CSS实现滑动切换tab菜单效果

在线演示地址如下:

具体代码如下:

<!doctype html>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:xlink="http://www.w3.org/1999/xlink" lang="zh_CN" xml:lang="zh_CN">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type="text/javascript">
var $=function(a,b){
 var ID = document.getElementById(a);
 var OBJ= (b)?ID.getElementsByTagName(b):ID;
 return OBJ
}
var n=0;
var tab = function(MENU,BODY){
 var l = MENU.length;
 for(var i=0;i<l;i++){
  MENU[i].onmouseover=function(a){
   return function(){
    MENU[n].className="label"
    BODY[n].style.display = "none";
    MENU[a].className="label label-selected";
    BODY[a].style.display = "block";
    n=a;
   }
  }(i);
 }
}
</script>
<style>
body{font-family: "微软雅黑","SimSun","宋体","Arial Narrow";}
#header,#main,#footer{width: 1050px;background: #F1F9D9;margin: 5px auto;}
#header{height: 50px;}
#main{height: auto;}
#footer{height: 50px;}
#menu{height: 36px;padding: 2px 0 0 0;}
li{list-style: none;cursor: pointer;}
.category{margin: 0;height: 35px;border-bottom: 1px solid #b5e2f3;text-align: center;}
.label{border: 1px solid #b5e2f3;float: left;width: 100px;height: 25px;margin: 0 3px;background: #F1FEF3;padding: 9px 0 0 0;outline: 0;-moz-border-radius: 5px 5px 0 0;}
.label-selected{background: #FFF;border-bottom: 1px solid #FFF;}
#linksContent{margin-top: -1;height: 600px;padding: 10px;border: 1px solid #b5e2f3;border-top: 0;background: #FFF;}
.link{float: left;width: 180px;display: block;margin: 10px 0;}
</style>
<title>myLinks</title> 
</head>
<body>
 <div id="container">
 <div id="header"></div>
 <div id="main">
  <div id="menu">
   <ul class="category">
   <li class="label label-selected">在线学习</li>
   <li class="label">运动休闲</li>
   <li class="label">编程社区</li>
   <li class="label">文化娱乐</li>
   <li class="label">休息项目</li>
   <li class="label">人际往来</li>
  </ul>
  </div>
  <div id="linksContent">
   <div class="category-1" style="display:block;">
   <ul>
   <li class="link"><span>html学习</span></li>
   <li class="link"><span>编译原理</span></li>
   <li class="link"><span>人工智能</span></li>
   <li class="link"><span>算法设计</span></li>
   </ul>
  </div>
  <div class="category-2" style="display:none;">
   <ul>
   <li class="link"><span>开车</span></li>
   <li class="link"><span>郊游</span></li>
   <li class="link"><span>音乐</span></li>
   </ul>
  </div>
  <div class="category-2" style="display:none;">
   <ul>
   <li class="link"><span>MSDN</span></li>
   <li class="link"><span>编译原理</span></li>
   <li class="link"><span>科幻电影</span></li>
   <li class="link"><span>技术文档</span></li>
   </ul>
  </div>
  <div class="category-2" style="display:none;">
   <ul>
    <li class="link"><span>java学习</span></li>
   <li class="link"><span>html学习</span></li>
   <li class="link"><span>编译原理</span></li>
   <li class="link"><span>人工智能</span></li>
   <li class="link"><span>算法设计</span></li>
   </ul>
  </div>
  <div class="category-2" style="display:none;">
   <ul>
   <li class="link"><span>html学习</span></li>
   <li class="link"><span>编译原理</span></li>
   <li class="link"><span>人工智能</span></li>
   </ul>
  </div>
  <div class="category-2" style="display:none;">
   <ul>
    <li class="link"><span>java学习</span></li>
   <li class="link"><span>html学习</span></li>
   <li class="link"><span>算法设计</span></li>
   </ul>
  </div> 
  </div>
 </div>
 <div id="footer"></div>
 </div>
<script>
 tab($("menu","li"),$("linksContent","div"));
</script>
</body>
</html>

希望本文所述对大家的javascript程序设计有所帮助。

Javascript 相关文章推荐
浅谈Javascript中匀速运动的停止条件
Dec 19 Javascript
5个数组Array方法: indexOf、filter、forEach、map、reduce使用实例
Jan 29 Javascript
JavaScript实现LI列表数据绑定的方法
Aug 04 Javascript
用jquery的attr方法实现图片切换效果
Feb 05 Javascript
jQuery实现拖动效果的实例代码
Jun 25 jQuery
快速将Vue项目升级到webpack3的方法步骤
Sep 14 Javascript
解决node修改后需频繁手动重启的问题
May 13 Javascript
JavaScript中concat复制数组方法浅析
Jan 20 Javascript
JS对日期操作封装代码实例
Nov 08 Javascript
vue中el-input绑定键盘按键(按键修饰符)
Jul 22 Javascript
vuex中遇到的坑,vuex数据改变,组件中页面不渲染操作
Nov 16 Javascript
JavaScript 与 TypeScript之间的联系
Nov 27 Javascript
jquery图片滚动放大代码分享(1)
Aug 25 #Javascript
jquery实现在网页指定区域显示自定义右键菜单效果
Aug 25 #Javascript
jquery实现的3D旋转木马特效代码分享
Aug 25 #Javascript
jQuery+CSS实现的网页二级下滑菜单效果
Aug 25 #Javascript
jQuery实现点击小图显示大图代码分享
Aug 25 #Javascript
基于jquery实现select选择框内容左右移动添加删除代码分享
Aug 25 #Javascript
jquery实现鼠标经过显示下划线的渐变下拉菜单效果代码
Aug 24 #Javascript
You might like
Terran历史背景
2020/03/14 星际争霸
利用static实现表格的颜色隔行显示的代码
2007/09/02 PHP
PHP多线程批量采集下载美女图片的实现代码(续)
2013/06/03 PHP
php 魔术方法详解
2014/11/11 PHP
php删除左端与右端空格的方法
2014/11/29 PHP
PHP面向对象程序设计(OOP)之方法重写(override)操作示例
2018/12/21 PHP
PHP里的$_GET数组介绍
2019/03/22 PHP
ThinkPHP3.2.3框架Memcache缓存使用方法实例总结
2019/04/15 PHP
YUI 读码日记之 YAHOO.lang.is*
2008/03/22 Javascript
js select常用操作控制代码
2010/03/16 Javascript
jquery 获取标签名(tagName)示例代码
2013/07/11 Javascript
jQuery如何防止这种冒泡事件发生
2015/02/27 Javascript
详解JavaScript的Polymer框架中的通知交互
2015/07/29 Javascript
jQuery实现列表内容的动态载入特效
2015/08/08 Javascript
表单验证插件Validation应用的实例讲解
2015/10/10 Javascript
jquery调整表格行tr上下顺序实例讲解
2016/01/09 Javascript
jQuery 获取多选框的值及多选框中文的函数
2016/05/16 Javascript
Bootstrap Table服务器分页与在线编辑应用总结
2016/08/08 Javascript
Angular 中 select指令用法详解
2016/09/29 Javascript
js实现做通讯录的索引滑动显示效果和滑动显示锚点效果
2017/02/18 Javascript
使用ionic播放轮询广告的实现方法(必看)
2017/04/24 Javascript
Bootstrap 模态框(Modal)带参数传值实例
2017/08/20 Javascript
如何理解Vue的v-model指令的使用方法
2018/07/19 Javascript
实例讲解vue源码架构
2019/01/24 Javascript
详解Vue用cmd创建项目
2019/02/12 Javascript
vue-cli和v-charts实现可视化图表过程解析
2019/10/08 Javascript
python为tornado添加recaptcha验证码功能
2014/02/26 Python
Python for循环生成列表的实例
2018/06/15 Python
python3.8.1+selenium实现登录滑块验证功能
2020/05/22 Python
波兰家居和花园家具专家:4Home
2019/05/26 全球购物
一名女生的自荐信
2013/12/08 职场文书
森林防火标语
2014/06/23 职场文书
2014年客服工作总结与计划
2014/12/09 职场文书
自主招生自荐信格式
2015/03/04 职场文书
2016高校自主招生自荐信范文
2016/01/28 职场文书
Python 文字识别
2022/05/11 Python