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 相关文章推荐
两个SUBMIT按钮,如何区分处理
Aug 22 Javascript
js 兼容多浏览器的回车和鼠标焦点事件代码(IE6/7/8,firefox,chrome)
Apr 14 Javascript
理解Javascript_11_constructor实现原理
Oct 18 Javascript
JavaScript学习笔记之获取当前目录的实现代码
Dec 14 Javascript
js兼容的placeholder属性详解
Aug 18 Javascript
js简单的表格添加行和删除行操作示例
Mar 31 Javascript
jQuery实现的产品自动360度旋转展示特效源码分享
Aug 21 Javascript
Node.js的MongoDB驱动Mongoose基本使用教程
Mar 01 Javascript
react实现点击选中的li高亮的示例代码
May 24 Javascript
简单了解Ajax表单序列化的实现方法
Jun 14 Javascript
Node.js 实现抢票小工具 &amp; 短信通知提醒功能
Oct 22 Javascript
微信小程序实现同时上传多张图片
Feb 03 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翻页类
2009/06/01 PHP
php smarty模版引擎中的缓存应用
2009/12/11 PHP
PHP分页效率终结版(推荐)
2013/07/01 PHP
PHP图片上传代码
2013/11/04 PHP
PHP基本语法总结
2014/09/06 PHP
ThinkPHP类似AOP思想的参数验证的实现方法
2019/12/18 PHP
jquery关于页面焦点的定位(文本框获取焦点时改变样式 )
2010/09/10 Javascript
table对象中的insertRow与deleteRow使用示例
2014/01/26 Javascript
jquery实现点击弹出层效果的简单实例
2014/03/03 Javascript
轻松创建nodejs服务器(3):代码模块化
2014/12/18 NodeJs
jQuery判断一个元素是否可见的方法
2015/06/05 Javascript
原生javascript+css3编写的3D魔方动画旋扭特效
2016/03/14 Javascript
打造自己的jQuery插件入门教程
2016/09/23 Javascript
微信小程序 Tab页切换更新数据
2017/01/05 Javascript
微信小程序实现移动端滑动分页效果(ajax)
2017/06/13 Javascript
JS 判断某变量是否为某数组中的一个值的3种方法(总结)
2017/07/10 Javascript
初学node.js中实现删除用户路由
2019/05/27 Javascript
leaflet加载geojson叠加显示功能代码
2020/02/21 Javascript
react实现复选框全选和反选组件效果
2020/08/25 Javascript
浅谈pycharm下找不到sqlalchemy的问题
2018/12/03 Python
在Pycharm中修改文件默认打开方式的方法
2019/01/17 Python
Python 根据日志级别打印不同颜色的日志的方法示例
2019/08/08 Python
python Django框架实现web端分页呈现数据
2019/10/31 Python
Python文本处理简单易懂方法解析
2019/12/19 Python
使用pytorch实现论文中的unet网络
2020/06/24 Python
用Python制作mini翻译器的实现示例
2020/08/17 Python
python实现计算器简易版
2020/12/17 Python
美国在线鲜花速递:ProFlowers
2017/01/05 全球购物
Maxpeedingrods美国:高性能汽车零件
2020/02/14 全球购物
采购部部门职责
2013/12/15 职场文书
三年大学生活自我鉴定
2014/01/21 职场文书
保险公司晨会主持词
2014/03/22 职场文书
出纳试用期自我鉴定
2014/04/07 职场文书
党的群众路线教育实践活动方案
2014/10/31 职场文书
市场部岗位职责范本
2015/04/15 职场文书
Python pandas求方差和标准差的方法实例
2021/08/04 Python