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 在各个浏览器中执行的耐性
Apr 06 Javascript
学习JavaScript的最佳方法分享
Oct 21 Javascript
Javascript 实现复制(Copy)动作方法大全
Jun 20 Javascript
用Jquery.load载入页面后样式没了页面混乱的解决方法
Oct 20 Javascript
终于实现了!精彩的jquery弹幕效果
Jul 18 Javascript
JavaScript实现多栏目切换效果
Dec 12 Javascript
js实现彩色条纹滚动条效果
Mar 15 Javascript
jquery中关于bind()方法的使用技巧分享
Mar 30 jQuery
JavaScript实现提交模式窗口后刷新父窗口数据的方法
Jun 16 Javascript
React Native模块之Permissions权限申请的实例相机
Sep 28 Javascript
vue-i18n结合Element-ui的配置方法
May 20 Javascript
vue-列表下详情的展开与折叠案例
Jul 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
安装PHP可能遇到的问题“无法载入mysql扩展” 的解决方法
2007/04/16 PHP
php获取$_POST同名参数数组的实现介绍
2013/06/30 PHP
php数组键名技巧小结
2015/02/17 PHP
Yii2实现中国省市区三级联动实例
2017/02/08 PHP
php从数据库中读取特定的行(实例)
2017/06/02 PHP
提高Laravel应用性能方法详解
2019/06/24 PHP
php7下的filesize函数
2019/09/30 PHP
jquery实现微博文字输入框 输入时显示输入字数 效果实现
2013/07/12 Javascript
JavaScript自定义方法实现trim()、Ltrim()、Rtrim()的功能
2013/11/03 Javascript
封装的jquery翻页滚动(示例代码)
2013/11/18 Javascript
JavaScript中定义类的方式详解
2016/01/07 Javascript
jQuery插件扩展实例【添加回调函数】
2016/11/26 Javascript
Vue 监听列表item渲染事件方法
2018/09/06 Javascript
nuxt框架中对vuex进行模块化设置的实现方法
2019/09/06 Javascript
vue中使用vue-print.js实现多页打印
2020/03/05 Javascript
JS中的const命令你真懂它吗
2020/03/08 Javascript
vue+vant 上传图片需要注意的地方
2021/01/03 Vue.js
Python中使用中文的方法
2011/02/19 Python
Python的Django框架中模板碎片缓存简介
2015/07/24 Python
Python安装官方whl包和tar.gz包的方法(推荐)
2017/06/04 Python
使用Eclipse如何开发python脚本
2018/04/11 Python
Python打开文件,将list、numpy数组内容写入txt文件中的方法
2018/10/26 Python
python实现一行输入多个值和一行输出多个值的例子
2019/07/16 Python
在VS2017中用C#调用python脚本的实现
2019/07/31 Python
根据tensor的名字获取变量的值方式
2020/01/04 Python
Python常用数据分析模块原理解析
2020/07/20 Python
CSS3实现头像旋转效果
2017/03/13 HTML / CSS
canvas如何绘制钟表的方法
2017/12/13 HTML / CSS
StubHub美国:购买或出售您的门票
2019/07/09 全球购物
总结表彰大会主持词
2014/03/26 职场文书
校园运动会广播稿
2014/10/06 职场文书
长城的导游词
2015/01/30 职场文书
单位考核聘任报告
2015/03/02 职场文书
2015年幼儿园后勤工作总结
2015/04/25 职场文书
解决thinkphp6(tp6)在状态码500下不报错,或者显示错误“Malformed UTF-8 characters”的问题
2021/04/01 PHP
Requests什么的通通爬不了的Python超强反爬虫方案!
2021/05/20 Python