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 相关文章推荐
JS+CSS实现的经典圆角下拉菜单效果代码
Oct 21 Javascript
基于Jquery代码实现支持PC端手机端幻灯片代码
Nov 17 Javascript
Jquery zTree 树控件异步加载操作
Feb 25 Javascript
设计模式中的facade外观模式在JavaScript开发中的运用
May 18 Javascript
jQuery数组处理函数整理
Aug 03 Javascript
JavaScript生成.xls文件的代码
Dec 22 Javascript
jQuery按需加载轮播图(web前端性能优化)
Feb 17 Javascript
详解AngularJS ui-sref的简单使用
Apr 24 Javascript
详解vue2.0脚手架的webpack 配置文件分析
May 27 Javascript
Vue+ElementUI实现表单动态渲染、可视化配置的方法
Mar 07 Javascript
详解vue使用插槽分发内容slot的用法
Mar 28 Javascript
微信小程序8种数据通信的方式小结
Feb 03 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与XML、XSLT、Mysql的结合运用实现代码
2009/11/19 PHP
ajax在joomla中的原生态应用代码
2012/07/19 PHP
php数组比较实现查找连续数的方法
2015/07/29 PHP
读jQuery之五(取DOM元素)
2011/06/20 Javascript
location对象的属性和方法应用(解析URL)
2013/04/12 Javascript
jquery的ajax异步请求接收返回json数据实例
2014/06/16 Javascript
JS运动框架之分享侧边栏动画实例
2015/03/03 Javascript
JS 对象属性相关(检查属性、枚举属性等)
2015/04/05 Javascript
js实现发送验证码后的倒计时功能
2015/05/28 Javascript
jQuery插件Timelinr 实现时间轴特效
2015/10/04 Javascript
javascript实现随机显示星星特效
2016/01/28 Javascript
jquery按回车键实现表单提交的简单实例
2016/05/25 Javascript
js实现图片淡入淡出切换简易效果
2016/08/22 Javascript
AngularJs bootstrap搭载前台框架——js控制部分
2016/09/01 Javascript
react-router实现跳转传值的方法示例
2017/05/27 Javascript
vue 不使用select实现下拉框功能(推荐)
2018/05/17 Javascript
centos 下面安装python2.7 +pip +mysqld
2014/11/18 Python
Python中使用asyncio 封装文件读写
2016/09/11 Python
Python 查看文件的读写权限方法
2018/01/23 Python
Python3.5多进程原理与用法实例分析
2019/04/05 Python
flask框架jinja2模板与模板继承实例分析
2019/08/01 Python
Python requests模块session代码实例
2020/04/14 Python
详解Django中异步任务之django-celery
2020/11/05 Python
html5的画布canvas——画出简单的矩形、三角形实例代码
2013/06/09 HTML / CSS
Html5 webview元素定位工具的实现
2020/08/07 HTML / CSS
会计专业毕业生自我评价
2013/09/25 职场文书
项目资料员岗位职责
2013/12/10 职场文书
弘扬职业精神演讲稿
2014/03/20 职场文书
社会发展项目建议书
2014/08/25 职场文书
超市创业计划书
2014/09/15 职场文书
英文升职感谢信
2015/01/23 职场文书
机器人瓦力观后感
2015/06/12 职场文书
秋季运动会加油词
2015/07/18 职场文书
2015年教师国培感言
2015/08/01 职场文书
MySQL 使用索引扫描进行排序
2021/06/20 MySQL
SQL Server中T-SQL标识符介绍与无排序生成序号的方法
2022/05/25 SQL Server