js实现tab切换效果


Posted in Javascript onFebruary 16, 2017

效果如下:

js实现tab切换效果

代码如下:

<!DOCTYPE html > 
<html> 
<head> 
<meta charset="utf-8" /> 
<title>js封装一个tab效果</title> 
<style type="text/css"> 
*{margin:0; padding:0;}
body { font:12px/1.8 Arial; color:#666;}
.wrapper { width:500px; border:1px solid #e6e6e6; margin:0 auto; padding:50px;}
/*--=tabPanel--*/
#tab{border:1px solid #ccc;}
#tab .tab-bd{border-top:none;margin:0 auto;padding:10px;text-align:left;height:120px;position:relative}
.tab-nav{margin:0 auto;padding:0;background:#eee;height:26px;}
.tab-nav li{display:inline;list-style:none outside none;width:90px;height:26px;float:left;line-height:26px;text-align:center;}
.tab-nav li a{color:#555;display:inline-block}
.tab-nav li a:hover,.tab-nav li.hover a{text-decoration:none;background:#fff;color:#000;display:block; }
.hidden{display:none}
</style> 
<script type="text/javascript">
function tabPanel(param){
 var defaultIndex=param["default"]||0,//设置显示的页面
 panelobj=param["panel"],//设置tab容器
 defalutClass=param["defalutStyle"]||"",//设置tab菜单项的普通样式
 hoverClass=param["hoverStyle"]||"hover",//设置鼠标移到tab菜单项的样式
 currentIndex=defaultIndex,
 menus=_$(panelobj).getElementsByTagName("ul")[0].getElementsByTagName("li"),
 contents=_$(panelobj).getElementsByTagName("ul")[1].getElementsByTagName("li"),
 menuNumber=menus.length,
 hidden="hidden";
 for(var i=0;i<menuNumber;i++){
 _setClass(contents[0],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}
}
</script>
<body> 
<div class="wrapper">
<div id="tab">
 <!-- tabHead -->
 <ul class="tab-nav">
 <li><a href="javascript:void(0)" rel="external nofollow" rel="external nofollow" rel="external nofollow" >交易安全</a></li>
 <li><a href="javascript:void(0)" rel="external nofollow" rel="external nofollow" rel="external nofollow" >淘宝大学</a></li>
 <li><a href="javascript:void(0)" rel="external nofollow" rel="external nofollow" rel="external nofollow" >爱心</a></li>
 </ul>
 <!-- tabPanel-->
 <ul class="tab-bd">
 <li>
  1111
 </li>
 <li>
  222
 </li>
 <li>
  333
 </li>
 </ul>
</div>
<script type="text/javascript">
tabPanel({"panel":"tab"});//panel为必填项,default、defalutStyle、hoverStyle为选填项
</script>
</div>
</body> 
</html>

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
监控 url fragment变化的js代码
Apr 19 Javascript
jQuery版Tab标签切换
Mar 16 Javascript
jQuery EasyUI API 中文文档 - Pagination分页
Sep 29 Javascript
jquery遍历数组与筛选数组的方法
Nov 05 Javascript
javascript随机之洗牌算法深入分析
Jun 07 Javascript
jQuery基于Ajax实现读取XML数据功能示例
May 31 jQuery
layui结合form,table的全选、反选v1.0示例讲解
Aug 15 Javascript
基于axios 解决跨域cookie丢失的问题
Sep 26 Javascript
微信实现自动跳转到用其他浏览器打开指定APP下载
Feb 15 Javascript
使用express获取微信小程序二维码小记
May 21 Javascript
layui富文本编辑器前端无法取值的解决方法
Sep 18 Javascript
JavaScript单线程和任务队列原理解析
Feb 04 Javascript
jquery实现自适应banner焦点图
Feb 16 #Javascript
js 作用域和变量详解
Feb 16 #Javascript
利用Chrome DevTools直接调试Node.js和JavaScript的方法详解(并行)
Feb 16 #Javascript
js面向对象编程总结
Feb 16 #Javascript
gulp加批处理(.bat)实现ng多应用一键自动化构建
Feb 16 #Javascript
JS实现DIV高度自适应窗口示例
Feb 16 #Javascript
Js apply方法详解
Feb 16 #Javascript
You might like
Yii遍历行下每列数据的方法
2016/10/17 PHP
基于jquery自定义的漂亮单选按钮RadioButton
2013/11/19 Javascript
返回上一页并自动刷新的JavaScript代码
2014/02/19 Javascript
一个简单的动态加载js和css的jquery代码
2014/09/01 Javascript
浅析AMD CMD CommonJS规范--javascript模块化加载学习心得总结
2016/03/16 Javascript
深入浅析JavaScript中的作用域和上下文
2016/03/26 Javascript
js oncontextmenu事件使用详解
2017/03/25 Javascript
jQuery鼠标悬停内容动画切换效果
2017/04/27 jQuery
JS实现动态添加DOM节点和事件的方法示例
2017/04/28 Javascript
vue2.0 elementUI制作面包屑导航栏
2018/02/22 Javascript
详解js获取video任意时间的画面截图
2019/04/17 Javascript
详解js location.href和window.open的几种用法和区别
2019/12/02 Javascript
JS+css3实现幻灯片轮播图
2020/08/14 Javascript
用python实现的去除win下文本文件头部BOM的代码
2013/02/10 Python
python模拟登陆阿里妈妈生成商品推广链接
2014/04/03 Python
用Python实现一个简单的多线程TCP服务器的教程
2015/05/05 Python
Python正确重载运算符的方法示例详解
2017/08/27 Python
django ajax json的实例代码
2018/05/29 Python
在Mac下使用python实现简单的目录树展示方法
2018/11/01 Python
python numpy元素的区间查找方法
2018/11/14 Python
python中metaclass原理与用法详解
2019/06/25 Python
python数据持久存储 pickle模块的基本使用方法解析
2019/08/30 Python
python爬虫之遍历单个域名
2019/11/20 Python
Python中类似于jquery的pyquery库用法分析
2019/12/02 Python
Python Json数据文件操作原理解析
2020/05/09 Python
建材业务员岗位职责
2013/12/08 职场文书
2014年消防工作实施方案
2014/02/20 职场文书
验房委托书
2014/08/30 职场文书
信息合作协议书
2014/10/09 职场文书
2014年行政部工作总结
2014/11/19 职场文书
反邪教警示教育活动总结
2015/05/09 职场文书
庆祝教师节新闻稿
2015/07/17 职场文书
朋友圈早安励志语录!
2019/07/08 职场文书
大学生军训心得体会5篇
2019/08/15 职场文书
浅谈MySQL user权限表
2021/06/18 MySQL
MySQL创建管理LIST分区
2022/04/13 MySQL