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 相关文章推荐
兼容IE/Firefox/Opera/Safari的检测页面装载完毕的脚本Ext.onReady的实现
Jul 14 Javascript
jQuery一步一步实现跨浏览器的可编辑表格,支持IE、Firefox、Safari、Chrome、Opera
Aug 28 Javascript
Javascript玩转继承(三)
May 08 Javascript
使用js实现数据格式化
Dec 03 Javascript
jQuery的几个我们必须了解的特点
May 03 Javascript
JQuery悬停控制图片轮播——代码简单
Aug 05 Javascript
jQuery插件编写步骤详解
Jun 03 Javascript
BootStrap 智能表单实战系列(五) 表单依赖插件处理
Jun 13 Javascript
Vuex提升学习篇
Jan 11 Javascript
JS实现监控微信小程序的原理
Jun 15 Javascript
微信小程序自定义组件实现环形进度条
Nov 17 Javascript
Vant Weapp组件踩坑:picker的初始赋值解决
Nov 12 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生成短网址的3种方法代码实例
2014/07/08 PHP
PHP根据图片色界在不同位置加水印的方法
2015/07/01 PHP
JSON用法之将PHP数组转JS数组,JS如何接收PHP数组
2015/10/08 PHP
php socket通信简单实现
2016/11/18 PHP
PHP面向对象程序设计之类与反射API详解
2016/12/02 PHP
php+ajax实现异步上传文件或图片功能
2017/07/18 PHP
thinkPHP框架中执行原生SQL语句的方法
2017/10/25 PHP
js实现的跟随鼠标移动的时钟效果(中英文日期显示)
2011/01/17 Javascript
如何获取JQUERY AJAX返回的JSON结果集实现代码
2012/12/10 Javascript
javascript之典型高阶函数应用介绍
2013/01/10 Javascript
javascript中的document.open()方法使用介绍
2013/10/09 Javascript
javascript中负数算术右移、逻辑右移的奥秘探索
2013/10/17 Javascript
JS检测输入字符是否包含非法字符的示例代码
2014/02/11 Javascript
js中数组排序sort方法的原理分析
2014/11/20 Javascript
浅谈js 闭包引起的内存泄露问题
2015/06/22 Javascript
JS实现的幻灯片切换显示效果
2016/09/07 Javascript
JS日程管理插件FullCalendar简单实例
2017/02/07 Javascript
echarts整合多个类似option的方法实例
2018/07/10 Javascript
vue中进入详情页记住滚动位置的方法(keep-alive)
2018/09/21 Javascript
javascript实现点击星星小游戏
2019/12/24 Javascript
jQuery实现小火箭返回顶部特效
2020/02/03 jQuery
基于element-ui封装可搜索的懒加载tree组件的实现
2020/05/22 Javascript
element 动态合并表格的步骤
2020/12/31 Javascript
[05:16]《大圣!大圣》——DOTA2新英雄齐天大圣配音李世宏老师专访
2016/12/13 DOTA
python冒泡排序算法的实现代码
2013/11/21 Python
Python数据类型之Tuple元组实例详解
2019/05/08 Python
用python写一个带有gui界面的密码生成器
2020/11/06 Python
印度尼西亚最好的小工具在线商店:Erafone.com
2019/03/26 全球购物
计算机专业自荐信范文
2014/05/28 职场文书
酒店爱岗敬业演讲稿
2014/09/02 职场文书
幼儿园校园小喇叭广播稿
2014/10/17 职场文书
驳回起诉裁定书
2015/05/19 职场文书
暑假开始了,你的暑假学习计划写好了吗?
2019/07/04 职场文书
Python中的程序流程控制语句
2022/02/24 Python
解决MySQL添加新用户-ERROR 1045 (28000)的问题
2022/03/03 MySQL
JS前端canvas交互实现拖拽旋转及缩放示例
2022/08/05 Javascript