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 相关文章推荐
HTML5之lang属性与dir属性的详解
Jun 19 Javascript
jquery 滚动条事件简单实例
Jul 12 Javascript
jquery datatable后台封装数据示例代码
Aug 07 Javascript
jquery处理页面弹出层查询数据等待操作实例
Mar 25 Javascript
深入浅析Node.js 事件循环
Dec 20 Javascript
js实现简单的碰壁反弹效果
Aug 30 Javascript
jQuery动态修改字体大小的方法【测试可用】
Sep 09 Javascript
javascript 分号总结及详细介绍
Sep 24 Javascript
JS触摸与手势事件详解
May 09 Javascript
json2.js 入门教程之使用方法与实例分析
Sep 14 Javascript
AngularJs 最新验证手机号码的实例,成功测试通过
Nov 26 Javascript
vue实现微信分享链接添加动态参数的方法
Apr 29 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
在smarty模板中使用PHP函数的方法
2011/04/23 PHP
PHP COOKIE及时生效的方法介绍
2014/02/14 PHP
[原创]php正则删除html代码中class样式属性的方法
2017/05/24 PHP
YII2框架中ActiveDataProvider与GridView的配合使用操作示例
2020/03/18 PHP
jscript之List Excel Color Values
2007/06/13 Javascript
使用jQuery向asp.net Mvc传递复杂json数据-ModelBinder篇
2010/05/07 Javascript
自制轻量级仿jQuery.boxy对话框插件代码
2010/10/26 Javascript
Javascript延迟执行实现方法(setTimeout)
2010/12/30 Javascript
javaScript array(数组)使用字符串作为数组下标的方法
2013/11/19 Javascript
JS获得QQ号码的昵称,头像,生日的简单实例
2013/12/04 Javascript
使用纯javascript实现放大镜效果
2015/03/18 Javascript
使用AngularJS 应用访问 Android 手机的图片库
2015/03/24 Javascript
AngularJS的表单使用详解
2015/06/17 Javascript
基于jquery实现人物头像跟随鼠标转动
2015/08/23 Javascript
第一次接触神奇的Bootstrap菜单和导航
2016/08/01 Javascript
微信小程序-小说阅读小程序实例(demo)
2017/01/12 Javascript
详解微信小程序 相对定位和绝对定位
2017/05/11 Javascript
Vue.js与 ASP.NET Core 服务端渲染功能整合
2017/11/16 Javascript
Angular网络请求的封装方法
2018/05/22 Javascript
深入理解vue-class-component源码阅读
2019/02/18 Javascript
使用Angular9和TypeScript开发RPG游戏的方法
2020/03/25 Javascript
Python实现在线程里运行scrapy的方法
2015/04/07 Python
Python模块搜索概念介绍及模块安装方法介绍
2015/06/03 Python
分享Python字符串关键点
2015/12/13 Python
用不到50行的Python代码构建最小的区块链
2017/11/16 Python
python的help函数如何使用
2020/06/11 Python
乌克兰品牌化妆品和香水在线商店:Bomond
2020/01/14 全球购物
计算机本科生自荐信
2013/10/15 职场文书
单位提档介绍信
2014/01/17 职场文书
我的梦想演讲稿1000字
2014/08/21 职场文书
表扬稿格式范文
2015/01/16 职场文书
奖学金感谢信
2015/01/21 职场文书
七年级数学教学反思
2016/02/17 职场文书
Oracle11g R2 安装教程完整版
2021/06/04 Oracle
浅谈Python中的正则表达式
2021/06/28 Python
Python编程super应用场景及示例解析
2021/10/05 Python