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 相关文章推荐
jQuery如何实现点击页面获得当前点击元素的id或其他信息
Jan 09 Javascript
jquery让返回的内容显示在特定div里(代码少而精悍)
Jun 23 Javascript
JS长整型精度问题实例分析
Jan 13 Javascript
初步使用Node连接Mysql数据库
Mar 03 Javascript
Bootstrap项目实战之首页内容介绍(全)
Apr 25 Javascript
javascript RegExp 使用说明
May 21 Javascript
JavaScript动态添加事件之事件委托
Jul 12 Javascript
javascript iframe跨域详解
Oct 26 Javascript
jQuery is not defined 错误原因与解决方法小结
Mar 19 Javascript
js 显示日期时间的实例(时间过一秒加1)
Oct 25 Javascript
基于Vue CSR的微前端实现方案实践
May 27 Javascript
vue 动态给每个页面添加title、关键词和描述的方法
Aug 28 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
Session的工作方式
2006/10/09 PHP
生成静态页面的PHP类
2006/11/25 PHP
浅析PHP原理之变量(Variables inside PHP)
2013/08/09 PHP
php可扩展的验证类实例(可对邮件、手机号、URL等验证)
2015/07/09 PHP
PHP的APC模块实现上传进度条
2015/10/27 PHP
PHP邮箱验证示例教程
2016/06/01 PHP
PHP开发的文字水印,缩略图,图片水印实现类与用法示例
2019/04/12 PHP
jquery和雅虎的yql服务实现天气预报服务示例
2014/02/08 Javascript
JavaScript中的typeof操作符用法实例
2014/04/05 Javascript
jquery实现在页面加载完毕后获取图片高度或宽度
2014/06/16 Javascript
使用Node.js配合Nginx实现高负载网络
2015/06/28 Javascript
headjs实现网站并行加载但顺序执行JS
2016/11/29 Javascript
canvas滤镜效果实现代码
2017/02/06 Javascript
Webpack 服务器端代码打包的示例代码
2017/09/19 Javascript
关于layui flow loading占位图的实现方法
2019/09/21 Javascript
vue大型项目之分模块运行/打包的实现
2020/09/21 Javascript
python装饰器使用方法实例
2013/11/21 Python
Flask框架中密码的加盐哈希加密和验证功能的用法详解
2016/06/07 Python
Python实现的线性回归算法示例【附csv文件下载】
2018/12/29 Python
Django 缓存配置Redis使用详解
2019/07/23 Python
python中hasattr()、getattr()、setattr()函数的使用
2019/08/16 Python
python scipy卷积运算的实现方法
2019/09/16 Python
tensorflow 查看梯度方式
2020/02/04 Python
python实现马丁策略的实例详解
2021/01/15 Python
使用HTML5 Canvas绘制圆角矩形及相关的一些应用举例
2016/03/22 HTML / CSS
毕业典礼主持词大全
2014/03/26 职场文书
装饰工程师岗位职责
2014/06/08 职场文书
暑期学习心得体会
2014/09/02 职场文书
2014年公务员退休工资改革方案
2014/10/01 职场文书
员工开除通知书
2015/04/25 职场文书
反腐倡廉观后感
2015/06/08 职场文书
廉洁自律准则学习心得体会
2016/01/13 职场文书
党组织关系的介绍信模板
2019/06/21 职场文书
高中16字霸气押韵班级口号集锦!
2019/06/27 职场文书
JavaScript实现简单拖拽效果
2021/09/15 Javascript
redis数据结构之压缩列表
2022/03/21 Redis