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 相关文章推荐
jQuery(非HTML5)可编辑表格实现代码
Dec 11 Javascript
jquery 实现返回顶部功能
Nov 17 Javascript
js表单验证实例讲解
Mar 31 Javascript
深入理解js函数的作用域与this指向
May 28 Javascript
$.browser.msie 为空或不是对象问题的多种解决方法
Mar 19 Javascript
详解Angular-Cli中引用第三方库
May 21 Javascript
JavaScript之面向对象_动力节点Java学院整理
Jun 29 Javascript
jQuery实现节点的追加、替换、删除、复制功能示例
Jul 11 jQuery
jQuery中库的引用方法
Jan 06 jQuery
vue的传参方式汇总和router使用技巧
May 22 Javascript
JS实现多选框的操作
Jun 24 Javascript
JavaScript实现H5接金币功能(实例代码)
Feb 22 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
学习使用curl采集curl使用方法
2012/01/11 PHP
PHP7标量类型declare用法实例分析
2016/09/26 PHP
PHP抽象类基本用法示例
2018/12/28 PHP
javascript radio 联动效果
2009/03/04 Javascript
jquery jqPlot API 中文使用教程(非常强大的图表工具)
2011/08/15 Javascript
javascript动态加载三
2012/08/22 Javascript
简单实例处理url特殊符号&amp;处理(2种方法)
2013/04/02 Javascript
jquery实现上下左右滑动的方法
2015/02/09 Javascript
kindeditor修复会替换script内容的问题
2015/04/03 Javascript
Jquery跨浏览器文本复制插件Zero Clipboard的使用方法
2016/02/28 Javascript
D3.js实现文本的换行详解
2016/10/14 Javascript
jquery判断页面网址是否有效的两种方法
2016/12/11 Javascript
详解使用JS如何制作简单的ASCII图与单极图
2017/03/31 Javascript
AngularJs点击状态值改变背景色的实例
2017/12/18 Javascript
vue router动态路由下让每个子路由都是独立组件的解决方案
2018/04/24 Javascript
利用weixin-java-miniapp生成小程序码并直接返回图片文件流的方法
2019/03/29 Javascript
4 种滚动吸顶实现方式的比较
2019/04/09 Javascript
vue列表数据发生变化指令没有更新问题及解决方法
2020/01/16 Javascript
在vue项目中引用Antv G2,以饼图为例讲解
2020/10/28 Javascript
基于vue与element实现创建试卷相关功能(实例代码)
2020/12/07 Vue.js
Vant+postcss-pxtorem 实现浏览器适配功能
2021/02/05 Javascript
Python使用MySQLdb for Python操作数据库教程
2014/10/11 Python
Python绘制正余弦函数图像的方法
2018/08/28 Python
django中上传图片分页三级联动效果的实现代码
2019/08/30 Python
Xadmin+rules实现多选行权限方式(级联效果)
2020/04/07 Python
Python内存映射文件读写方式
2020/04/24 Python
Django ORM filter() 的运用详解
2020/05/14 Python
浅析Python 序列化与反序列化
2020/08/05 Python
出门问问全球官方商城:Tichome音箱和TicWatch智能手表
2017/12/02 全球购物
美国受信赖的教育产品供应商:Nest Learning
2018/06/14 全球购物
临床医学系毕业生推荐信
2013/11/09 职场文书
市场部专员岗位职责
2013/11/30 职场文书
企业安全生产目标责任书
2014/07/23 职场文书
思想道德自我评价2015
2015/03/09 职场文书
史上最全的军训拉歌口号
2015/12/25 职场文书
Mysql数据库按时间点恢复实战记录
2021/06/30 MySQL