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 相关文章推荐
让你的博文自动带上缩址的实现代码,方便发到微博客上
Dec 28 Javascript
表单验证的完整应用案例探讨
Mar 29 Javascript
jquery遍历select元素(实例讲解)
Dec 31 Javascript
jQuery实现ichat在线客服插件
Dec 29 Javascript
JavaScript判断是否为数字的4种方法及效率比较
Apr 01 Javascript
纯javascript实现的小游戏《Flappy Pig》实例
Jul 27 Javascript
仅30行代码实现Javascript中的MVC
Feb 15 Javascript
jQuery实现圣诞节礼物动画案例解析
Dec 25 Javascript
jquery表单插件form使用方法详解
Jan 20 Javascript
jQuery Ajax前后端使用JSON进行交互示例
Mar 17 Javascript
JS中将多个逗号替换为一个逗号的实现代码
Jun 23 Javascript
Node与Python 双向通信的实现代码
Jul 16 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 连接mssql数据库 初学php笔记
2010/03/01 PHP
基于PHP 面向对象之成员方法详解
2013/05/04 PHP
Dreamweaver jQuery智能提示插件,支持版本提示,支持1.6api
2011/07/31 Javascript
前后台交互过程中json格式如何解析以及如何生成
2012/12/26 Javascript
jQuery判断复选框是否勾选的原理及示例
2014/05/21 Javascript
JavaScript调试工具汇总
2014/12/23 Javascript
jQuery给动态添加的元素绑定事件的方法
2015/03/09 Javascript
jQuery简单实现QQ空间点赞已经取消点赞
2015/04/02 Javascript
js通过iframe加载外部网页的实现代码
2015/04/05 Javascript
javascript组合使用构造函数模式和原型模式实例
2015/06/04 Javascript
JavaScript中getUTCMinutes()方法的使用详解
2015/06/10 Javascript
JQuery实现的按钮倒计时效果
2015/12/23 Javascript
浅谈JavaScript中的分支结构
2016/07/01 Javascript
JavaScript实现水平进度条拖拽效果
2017/01/18 Javascript
微信小程序实现导航栏选项卡效果
2020/06/19 Javascript
Vue项目路由刷新的实现代码
2019/04/17 Javascript
详解如何修改 node_modules 里的文件
2020/05/22 Javascript
浅谈Python基础之I/O模型
2017/05/11 Python
基于Python开发chrome插件的方法分析
2018/07/07 Python
Python3.5以上版本lxml导入etree报错的解决方案
2019/06/26 Python
PyTorch实现更新部分网络,其他不更新
2019/12/31 Python
浅谈python print(xx, flush = True) 全网最清晰的解释
2020/02/21 Python
Python 窗体(tkinter)下拉列表框(Combobox)实例
2020/03/04 Python
Python实现自动签到脚本功能
2020/08/20 Python
HTML5注册表单的自动聚焦与占位文本示例代码
2013/07/19 HTML / CSS
Web Service面试题:如何搭建Axis2的开发环境
2012/06/20 面试题
综合测评自我鉴定
2013/10/08 职场文书
中专毕业自我鉴定
2013/10/16 职场文书
投标诚信承诺书
2014/05/26 职场文书
数学系毕业生求职信
2014/05/29 职场文书
财务个人年度总结范文
2015/02/26 职场文书
2016年教师新年寄语
2015/08/18 职场文书
四年级作文之植物
2019/09/20 职场文书
MySQL系列之十三 MySQL的复制
2021/07/02 MySQL
MySQL表类型 存储引擎 的选择
2021/11/11 MySQL
前端实现滑动按钮AJAX与后端交互的示例代码
2022/02/24 Javascript