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 相关文章推荐
JavaScript 动态将数字金额转化为中文大写金额
May 14 Javascript
JQuery给元素绑定click事件多次执行的解决方法
May 29 Javascript
JavaScript中使用Object.prototype.toString判断是否为数组
Apr 01 Javascript
基于JavaScript实现网页倒计时自动跳转代码
Dec 28 Javascript
jQuery实现的右下角广告窗体跟随效果示例
Sep 16 Javascript
设置jquery UI 控件的大小方法
Dec 12 Javascript
原生JavaScript实现Tooltip浮动提示框特效
Mar 07 Javascript
非常实用的vue导航钩子
Mar 20 Javascript
Vue+jquery实现表格指定列的文字收缩的示例代码
Jan 09 jQuery
vue项目国际化vue-i18n的安装使用教程
Mar 14 Javascript
react 兄弟组件如何调用对方的方法示例
Oct 23 Javascript
nginx部署多个vue项目的方法示例
Sep 06 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
Thinkphp中Create方法深入探究
2014/06/16 PHP
Netbeans 8.2将支持PHP7 更精彩
2016/06/13 PHP
PHP生成(支持多模板)二维码海报代码
2018/04/30 PHP
让焦点自动跳转
2006/07/01 Javascript
jQuery源码分析-03构造jQuery对象-源码结构和核心函数
2011/11/14 Javascript
BootStrap Validator使用注意事项(必看篇)
2016/09/28 Javascript
javascript滚轮控制模拟滚动条
2016/10/19 Javascript
jQuery基于Ajax方式提交表单功能示例
2017/02/10 Javascript
JavaScript简单计算人的年龄示例
2017/04/15 Javascript
JS获取一个表单字段中多条数据并转化为json格式
2017/10/17 Javascript
详解微信小程序支付流程与梳理
2019/07/16 Javascript
jquery实现有过渡效果的tab切换
2020/07/17 jQuery
[01:44]《为梦想出发》—联想杯DOTA2完美世界全国高校联赛
2015/09/30 DOTA
[01:33]PWL开团时刻DAY2-开雾与反开雾
2020/10/31 DOTA
python zip文件 压缩
2008/12/24 Python
Opencv+Python 色彩通道拆分及合并的示例
2018/12/08 Python
解决python3 HTMLTestRunner测试报告中文乱码的问题
2018/12/17 Python
python自定义函数实现一个数的三次方计算方法
2019/01/20 Python
PyCharm 创建指定版本的 Django(超详图解教程)
2019/06/18 Python
django+echart数据动态显示的例子
2019/08/12 Python
python返回数组的索引实例
2019/11/28 Python
python 装饰器的使用示例
2020/10/10 Python
Belle Maison倍美丛官网:日本千趣会旗下邮购网站
2016/07/22 全球购物
英国奢侈品网站:MatchesFashion
2016/12/16 全球购物
Styleonme中文网:韩国高档人气品牌
2017/06/21 全球购物
欧姆龙医疗保健与医疗产品:Omron Healthcare
2020/02/10 全球购物
思想纪律作风整顿剖析材料
2014/10/11 职场文书
实习介绍信模板
2015/01/30 职场文书
2015秋学期开学寄语
2015/05/28 职场文书
母亲去世追悼词
2015/06/23 职场文书
自信主题班会
2015/08/14 职场文书
校园广播稿范文
2015/08/19 职场文书
外出考察学习心得体会
2016/01/18 职场文书
幽默口才训练经典句子(48句)
2019/08/19 职场文书
maven依赖的version声明控制方式
2022/01/18 Java/Android
详解Nginx的超时keeplive_timeout配置步骤
2022/05/25 Servers