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 相关文章推荐
javascript Zifa FormValid 0.1表单验证 代码打包下载
Jun 08 Javascript
利用js对象弹出一个层
Mar 26 Javascript
JavaScript 变量作用域分析
Jul 04 Javascript
IE及IE6浏览器中判断JS文件加载成功失败的方法
Feb 18 Javascript
jQuery Validate表单验证入门学习
Dec 18 Javascript
浅谈在js传递参数中含加号(+)的处理方式
Oct 11 Javascript
canvas的神奇用法
Feb 03 Javascript
简单实现jQuery轮播效果
Aug 18 jQuery
Vue 引入AMap高德地图的实现代码
Apr 29 Javascript
vue绑定数字类型 value为数字的实例
Aug 31 Javascript
JavaScript中遍历的十种方法总结
Dec 15 Javascript
JavaScript嵌入百度地图API的最详细方法
Apr 16 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模拟asp中的XmlHttpRequest实现http请求的代码
2011/03/24 PHP
php中配置文件操作 如config.php文件的读取修改等操作
2012/07/07 PHP
浅谈apache和nginx的rewrite的区别
2013/02/22 PHP
php中通过curl检测页面是否被百度收录
2013/09/27 PHP
一波PHP中cURL库的常见用法代码示例
2016/05/06 PHP
PHP处理数组和XML之间的互相转换
2016/06/02 PHP
php网页版聊天软件实现代码
2016/08/12 PHP
JavaScript 变量作用域分析
2011/07/04 Javascript
html+javascript实现可拖动可提交的弹出层对话框效果
2013/08/05 Javascript
js获取IP地址的方法小结
2014/07/01 Javascript
微信公众平台开发教程(四) 实例入门:机器人回复(附源码)
2016/12/02 Javascript
JavaScript &amp; jQuery完美判断图片是否加载完毕
2017/01/08 Javascript
详谈Ajax请求中的async:false/true的作用(ajax 在外部调用问题)
2017/02/10 Javascript
微信小程序页面滑动屏幕加载数据效果
2020/11/16 Javascript
nuxt+axios解决前后端分离SSR的示例代码
2017/10/24 Javascript
Vue利用路由钩子token过期后跳转到登录页的实例
2017/10/26 Javascript
Nginx 配置多站点vhost 的方法
2018/01/07 Javascript
axios对请求各种异常情况处理的封装方法
2018/09/25 Javascript
[06:10]6.81新信使新套装!给你一个炫酷的DOTA2
2014/05/06 DOTA
[00:59]PWL开团时刻DAY7——我在赶
2020/11/06 DOTA
python 迭代器和iter()函数详解及实例
2017/03/21 Python
详解Django+Uwsgi+Nginx的生产环境部署
2018/06/25 Python
python实现字符串加密成纯数字
2019/03/19 Python
python爬虫刷访问量 2019 7月
2019/08/01 Python
python飞机大战pygame游戏背景设计详解
2019/12/17 Python
django美化后台django-suit的安装配置操作
2020/07/12 Python
Django框架安装及项目创建过程解析
2020/09/14 Python
HTML5打开本地app应用的方法
2016/03/31 HTML / CSS
瑜伽国际:Yoga International
2018/04/18 全球购物
Molton Brown美国官网:奢华美容、香水、沐浴和身体护理
2020/09/02 全球购物
美国折扣地毯销售网站:Rugs.com
2020/03/27 全球购物
怎样建立和理解非常复杂的声明?例如定义一个包含N 个指向返回 指向字符的指针的函数的指针的数组?
2013/03/19 面试题
体育教师自荐信范文
2013/12/16 职场文书
决心书标准格式
2014/03/11 职场文书
经销商年会策划方案
2014/05/29 职场文书
家长通知书家长意见
2014/12/30 职场文书