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 相关文章推荐
使用prototype.js进行异步操作
Feb 07 Javascript
js 面向对象的技术创建高级 Web 应用程序
Feb 25 Javascript
javascript中判断一个值是否在数组中并没有直接使用
Dec 17 Javascript
jQuery获取样式中的背景颜色属性值/颜色值
Dec 17 Javascript
js用正则表达式来验证表单(比较齐全的资源)
Nov 17 Javascript
实例解析Array和String方法
Dec 14 Javascript
快速使用node.js进行web开发详解
Apr 26 Javascript
mongoose更新对象的两种方法示例比较
Dec 19 Javascript
bootstrap下拉分页样式 带跳转页码
Dec 29 Javascript
JS div匀速移动动画与变速移动动画代码实例
Mar 26 Javascript
一文搞懂ES6中的Map和Set
May 20 Javascript
vue-devtools的安装和使用步骤详解
Oct 17 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
php中根据某年第几天计算出日期年月日的代码
2011/02/24 PHP
PHP读取RSS(Feed)简单实例
2014/06/12 PHP
PHP获取远程http或ftp文件的md5值的方法
2019/04/15 PHP
Laravel框架源码解析之入口文件原理分析
2020/05/14 PHP
jQuery 判断元素上是否绑定了事件
2009/10/28 Javascript
jquery里的each使用方法详解
2010/12/22 Javascript
jquery jqPlot API 中文使用教程(非常强大的图表工具)
2011/08/15 Javascript
关于onScroll事件在IE6下每次滚动触发三次bug说明
2011/09/21 Javascript
浅析JavaScript中两种类型的全局对象/函数
2013/12/05 Javascript
禁止页面刷新让F5快捷键及右键都无效
2014/01/22 Javascript
JS比较2个日期间隔的示例代码
2014/04/15 Javascript
jquery操作select大全
2014/04/25 Javascript
js判断变量初始化的三种形式及推荐用的形式
2014/07/22 Javascript
浅谈javascript事件取消和阻止冒泡
2015/05/26 Javascript
jQuery实现鼠标响应式淘宝动画效果示例
2018/02/13 jQuery
微信小程序签到功能
2018/10/31 Javascript
浅谈Vue.js 中的 v-on 事件指令的使用
2018/11/25 Javascript
原生js实现碰撞检测
2020/03/12 Javascript
创建nuxt.js项目流程图解
2020/03/13 Javascript
JavaScript如何实现图片处理与合成
2020/05/29 Javascript
wxpython学习笔记(推荐查看)
2014/06/09 Python
Python爬虫爬取美剧网站的实现代码
2016/09/03 Python
python 使用get_argument获取url query参数
2017/04/28 Python
python 二分查找和快速排序实例详解
2017/10/13 Python
Python中list查询及所需时间计算操作示例
2018/06/21 Python
对python3中的RE(正则表达式)-详细总结
2019/07/23 Python
Python range、enumerate和zip函数用法详解
2019/09/11 Python
利用python Selenium实现自动登陆京东签到领金币功能
2019/10/31 Python
Python3.7 基于 pycryptodome 的AES加密解密、RSA加密解密、加签验签
2019/12/04 Python
Python chardet库识别编码原理解析
2020/02/18 Python
面试后感谢信
2014/02/01 职场文书
中国梦我的梦演讲稿
2014/04/23 职场文书
驾驶员安全责任书范本
2014/07/24 职场文书
学生党员批评与自我批评
2014/10/15 职场文书
聚会通知怎么写
2015/04/23 职场文书
新店开张宣传语
2015/07/13 职场文书