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 获取元素位置的快速方法 getBoundingClientRect()
Nov 26 Javascript
jquery的冒泡事件的阻止与允许(三种实现方法)
Feb 01 Javascript
js字符串转换成数字与数字转换成字符串的实现方法
Jan 08 Javascript
JavaScript实现简单图片翻转的方法
Apr 17 Javascript
详解javascript的变量与标识符
Jan 04 Javascript
AngularJS使用ngOption实现下拉列表的实例代码
Jan 23 Javascript
Restify中接入Socket.io报Error:Can’t set headers的错误解决
Mar 28 Javascript
自定义vue全局组件use使用、vuex的使用详解
Jun 14 Javascript
AngularJS实现tab选项卡的方法详解
Jul 05 Javascript
vue+mock.js实现前后端分离
Jul 24 Javascript
Vue父组件监听子组件生命周期
Sep 03 Javascript
JavaScript实现滚动加载更多
Dec 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
深入PHP运行环境配置的详解
2013/06/04 PHP
基于PHPExcel的常用方法总结
2013/06/13 PHP
常见PHP数据库解决方案分析介绍
2015/09/24 PHP
PHP 5.6.11中CURL模块问题的解决方法
2016/08/08 PHP
JavaScript constructor和instanceof,JSOO中的一对欢喜冤家
2009/05/25 Javascript
基于JQuery实现CheckBox全选全不选
2011/06/27 Javascript
ECMAScript 创建自己的js类库
2012/11/22 Javascript
js调用webservice中的方法实现思路及代码
2013/02/25 Javascript
点击弹出层外区域关闭弹出层jquery特效示例
2013/08/25 Javascript
12种不宜使用的Javascript语法整理
2013/11/04 Javascript
JavaScript中判断整数的多种方法总结
2014/11/08 Javascript
使用requestAnimationFrame实现js动画性能好
2015/08/06 Javascript
使用Function.apply()的参数数组化来提高 JavaScript程序性能的技巧
2015/12/23 Javascript
Ionic如何实现下拉刷新与上拉加载功能
2016/06/03 Javascript
在点击div中的p时,如何阻止事件冒泡
2017/02/07 Javascript
详解Angular.js数据绑定时自动转义html标签及内容
2017/03/30 Javascript
示例vue 的keep-alive缓存功能的实现
2018/12/13 Javascript
vue自定义指令实现方法详解
2019/02/11 Javascript
javascript实现简易聊天室
2019/07/12 Javascript
vue 组件间的通信之子组件向父组件传值的方式
2020/07/29 Javascript
uniapp电商小程序实现订单30分钟倒计时
2020/11/01 Javascript
Python 元类使用说明
2009/12/18 Python
Python实现一个简单的MySQL类
2015/01/07 Python
用Python制作简单的朴素基数估计器的教程
2015/04/01 Python
浅谈python字符串方法的简单使用
2016/07/18 Python
python实现可以断点续传和并发的ftp程序
2016/09/13 Python
Python GUI编程学习笔记之tkinter控件的介绍及基本使用方法详解
2020/03/30 Python
查找廉价航班和发现新目的地:Kiwi.com
2019/02/25 全球购物
新闻专业本科生的自我评价分享
2013/11/20 职场文书
投标单位介绍信
2014/01/09 职场文书
会务接待方案
2014/02/27 职场文书
经营目标管理责任书
2014/07/25 职场文书
报名委托书
2015/01/29 职场文书
百万英镑观后感
2015/06/09 职场文书
2016社区平安家庭事迹材料
2016/02/26 职场文书
vue中的可拖拽宽度div的实现示例
2022/04/08 Vue.js