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 扩展对input的一些操作方法
Oct 30 Javascript
JS中for循序中延迟加载动态效果的具体实现
Aug 18 Javascript
jQuery照片伸缩效果不影响其他元素的布局
May 09 Javascript
JavaScript中switch语句的用法详解
Jun 03 Javascript
jQuery菜单插件用法实例
Jul 25 Javascript
Vue.js计算属性computed与watch(5)
Dec 09 Javascript
jQuery+Ajax请求本地数据加载商品列表页并跳转详情页的实现方法
Jul 12 jQuery
Vue.directive 自定义指令的问题小结
Mar 04 Javascript
vue绑定事件后获取绑定事件中的this方法
Sep 15 Javascript
使用webpack编译es6代码的方法步骤
Apr 28 Javascript
Vue.js计算机属性computed和methods方法详解
Oct 12 Javascript
原生js实现商品筛选功能
Oct 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图片上传类带图片显示
2006/11/25 PHP
php实现cookie加密的方法
2015/03/10 PHP
php使用glob函数遍历文件和目录详解
2016/09/23 PHP
php arsort 数组降序排序详细介绍
2016/11/17 PHP
js动态加载以及确定加载完成的代码
2011/07/31 Javascript
学习JavaScript的最佳方法分享
2011/10/21 Javascript
jquery重新播放css动画所遇问题解决
2013/08/21 Javascript
JS复制内容到剪切板的实例代码(兼容IE与火狐)
2013/11/19 Javascript
JS Replace 全部替换字符的用法小结
2013/12/24 Javascript
jquery中EasyUI使用技巧小结
2015/02/10 Javascript
原生js结合html5制作小飞龙的简易跳球
2015/03/30 Javascript
充分发挥Node.js程序性能的一些方法介绍
2015/06/23 Javascript
jquery实现图片上传前本地预览功能
2016/05/10 Javascript
jQuery为DOM动态追加事件的方法
2017/02/16 Javascript
windows下vue-cli导入bootstrap样式
2017/04/25 Javascript
JS模拟浏览器实现全局搜索功能
2019/09/11 Javascript
layui 监听select选择 获取当前select的ID名称方法
2019/09/24 Javascript
vue组件开发之slider组件使用详解
2020/08/21 Javascript
在Python中操作列表之list.extend()方法的使用
2015/05/20 Python
python实现将文本转换成语音的方法
2015/05/28 Python
Python获取当前页面内所有链接的四种方法对比分析
2017/08/19 Python
Python SQLite3简介
2018/02/22 Python
windows下安装Python的XlsxWriter模块方法
2018/05/03 Python
python实现画五角星和螺旋线的示例
2019/01/20 Python
几个适合python初学者的简单小程序,看完受益匪浅!(推荐)
2019/04/16 Python
python实现AHP算法的方法实例(层次分析法)
2020/09/09 Python
CSS3属性box-shadow使用指南
2014/12/09 HTML / CSS
H5最强接口之canvas实现动态图形功能
2019/05/31 HTML / CSS
Opodo英国旅游网站:预订廉价航班、酒店和汽车租赁
2018/07/14 全球购物
Guess欧洲官网:美国服饰品牌
2019/08/06 全球购物
公司出纳岗位职责
2013/12/07 职场文书
运输企业安全生产责任书
2014/07/28 职场文书
张家口市高新区党工委群众路线教育实践活动整改方案
2014/10/25 职场文书
《春酒》教学反思
2016/02/22 职场文书
餐饮行业关注的9大营销策略
2019/08/26 职场文书
JavaScript选择器函数querySelector和querySelectorAll
2021/11/27 Javascript