JavaScript 封装一个tab效果源码分享


Posted in Javascript onSeptember 15, 2015

效果图如下:

JavaScript 封装一个tab效果源码分享

查看演示  源码下载

html代码

<!DOCTYPE html>
<html>
<head>
<title>tab测试</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-" />
<link href="css/tab.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="js/tab-min.js"></script>
</head>
<body>
<div id="tab">
 <!-- tabHead -->
 <ul class="tab-nav">
 <li><a href="javascript:void()">交易安全</a></li>
 <li><a href="javascript:void()">淘宝大学</a></li>
 <li><a href="javascript:void()">爱心</a></li>
 </ul>
 <!-- tabPanel-->
 <ul class="tab-bd">
 <li></li>
 <li></li>
 <li></li>
 </ul>
</div>
<script type="text/javascript">
tabPanel({"panel":"tab"});//panel为必填项,default、defalutStyle、hoverStyle为选填项
</script>
</body>
</html>

js代码

function tabPanel(param){
 var defaultIndex=param["default"]||,//设置显示的页面
 panelobj=param["panel"],//设置tab容器
 defalutClass=param["defalutStyle"]||"",//设置tab菜单项的普通样式
 hoverClass=param["hoverStyle"]||"hover",//设置鼠标移到tab菜单项的样式
 currentIndex=defaultIndex,
 menus=_$(panelobj).getElementsByTagName("ul")[].getElementsByTagName("li"),
 contents=_$(panelobj).getElementsByTagName("ul")[].getElementsByTagName("li"),
 menuNumber=menus.length,
 hidden="hidden";
 for(var i=;i<menuNumber;i++){
 _setClass(contents[],hoverClass);
 _setClass(contents[i],hidden);
 _setClass(menus[i],defalutClass);
 (function(i){
 menus[i].onmouseover=function(){
 var old=menus[currentIndex];
 _setClass(old,defalutClass);
 _setClass(contents[currentIndex],hidden);
 var cur=menus[i];
 _setClass(cur,hoverClass);
 currentIndex=i;
 _setClass(contents[i],"");
 };
 })(i);
 }
 _setClass(menus[currentIndex],hoverClass);
 _setClass(contents[currentIndex],"");
 //便利函数
 function _setClass(obj,className){obj.className=className}
 function _$(oid){return typeof(oid) == "string"?document.getElementById(oid):oid}
}

css代码

#tab{border:px solid #ccc;}
#tab .tab-bd{border-top:none;margin: auto;padding:px;text-align:left;height:px;position:relative}
.tab-nav{margin: auto;padding:;background:#eee;height:px;}
.tab-nav li{display:inline;list-style:none outside none;width:px;height:px;float:left;line-height:px;text-align:center;}
.tab-nav li a{color:#;display:inline-block}
.tab-nav li a:hover,.tab-nav li.hover a{text-decoration:none;background:#fff;color:#;display:block; }
.hidden{display:none}
Javascript 相关文章推荐
用js实现的自定义的对话框的实现代码
Mar 21 Javascript
关于js注册事件的常用方法
Apr 03 Javascript
js实现的点击div区域外隐藏div区域
Jun 30 Javascript
jquery获取radio值(单选组radio)
Oct 16 Javascript
jQuery菜单插件superfish使用指南
Apr 21 Javascript
javascript拖拽应用实例(二)
Mar 25 Javascript
Vue 2.X的状态管理vuex记录详解
Mar 23 Javascript
十大 Node.js 的 Web 框架(快速提升工作效率)
Jun 30 Javascript
详细分析单线程JS执行问题
Nov 22 Javascript
element ui里dialog关闭后清除验证条件方法
Feb 26 Javascript
webpack-mvc 传统多页面组件化开发详解
May 07 Javascript
nestjs返回给前端数据格式的封装实现
Feb 22 Javascript
jQuery简单实现两级下拉菜单效果代码
Sep 15 #Javascript
黑帽seo劫持程序,js劫持搜索引擎代码
Sep 15 #Javascript
JavaScript实现仿新浪微博大厅和腾讯微博首页滚动特效源码
Sep 15 #Javascript
JS实现仿FLASH效果的竖排导航代码
Sep 15 #Javascript
JS+CSS实现自适应选项卡宽度的圆角滑动门效果
Sep 15 #Javascript
JS实现完全语义化的网页选项卡效果代码
Sep 15 #Javascript
js如何判断访问是来自搜索引擎(蜘蛛人)还是直接访问
Sep 14 #Javascript
You might like
PHP读取xml方法介绍
2013/01/12 PHP
PHP实现无限极分类图文教程
2014/11/25 PHP
使用PHP如何实现高效安全的ftp服务器(二)
2015/12/30 PHP
PHP编程实现微信企业向用户付款的方法示例
2017/07/26 PHP
Ajax+PHP实现的模拟进度条功能示例
2019/02/11 PHP
php ZipArchive实现多文件打包下载实例
2019/10/31 PHP
TP3.2框架分页相关实现方法分析
2020/06/03 PHP
Javascript YUI 读码日记之 YAHOO.util.Dom - Part.3
2008/03/22 Javascript
JavaScript下申明对象的几种方法小结
2008/10/02 Javascript
Javascript面向对象之四 继承
2011/02/08 Javascript
Javascript 异步加载详解(浏览器在javascript的加载方式)
2012/05/20 Javascript
刷新页面的几种方法小结(JS,ASP.NET)
2014/01/07 Javascript
javascript的alert box在java中如何显示多行
2014/05/18 Javascript
HTML5游戏引擎LTweenLite实现的超帅动画效果(附demo源码下载)
2016/01/26 Javascript
关于不同页面之间实现参数传递的几种方式讨论
2017/02/13 Javascript
原生JS+Canvas实现五子棋游戏实例
2017/06/19 Javascript
在vue2.0中引用element-ui组件库的方法
2018/06/21 Javascript
VUE DOM加载后执行自定义事件的方法
2018/09/07 Javascript
angularjs实现table表格td单元格单击变输入框/可编辑状态示例
2019/02/21 Javascript
vue实现日历表格(element-ui)
2020/09/24 Javascript
vue实现lodop打印功能的示例
2020/11/11 Javascript
python实现图片变亮或者变暗的方法
2015/06/01 Python
python编程实现12306的一个小爬虫实例
2017/12/27 Python
python模拟表单提交登录图书馆
2018/04/27 Python
python SQLAlchemy 中的Engine详解
2019/07/04 Python
python OpenCV GrabCut使用实例解析
2019/11/11 Python
python 利用panda 实现列联表(交叉表)
2021/02/06 Python
VELTRA台湾:世界自由行专家
2017/08/15 全球购物
Stührling手表官方网站:男女高品质时尚手表的领先零售商
2021/01/07 全球购物
试述DBMS的主要功能
2016/11/13 面试题
英语专业毕业生求职简历的自我评价
2013/10/24 职场文书
物流合作计划书
2014/01/10 职场文书
活动邀请函范文
2014/01/19 职场文书
领班岗位职责范文
2014/02/06 职场文书
开国大典观后感
2015/06/04 职场文书