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 相关文章推荐
bcastr2.0 通用的图片浏览器
Nov 22 Javascript
jquery控制display属性为none或block
Mar 31 Javascript
jquery常用操作小结
Jul 21 Javascript
javascript中sort()的用法实例分析
Jan 30 Javascript
jQuery实现自定义checkbox和radio样式
Jul 13 Javascript
JavaScript实现向右伸出的多级网页菜单效果
Aug 25 Javascript
JavaScript基本数据类型及值类型和引用类型
Aug 25 Javascript
javascript下拉列表菜单的实现方法
Nov 18 Javascript
JS中如何比较两个Json对象是否相等实例代码
Jul 13 Javascript
jq stop()和:is(:animated)的用法及区别(详解)
Feb 12 Javascript
微信小程序实现的3d轮播图效果示例【基于swiper组件】
Dec 11 Javascript
Angular.JS读取数据库数据调用完整实例
Jul 02 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魔术方法使用方法汇总
2016/02/14 PHP
Yii2――使用数据库操作汇总(增删查改、事务)
2016/12/19 PHP
PHP中模糊查询并关联三个select框
2017/06/19 PHP
PHP 记录访客的浏览信息方法
2018/01/29 PHP
关于laravel5.5的定时任务详解(demo)
2019/10/23 PHP
用JavaScript实现单继承和多继承的简单方法
2009/03/29 Javascript
jQuery 性能优化指南 (1)
2009/05/21 Javascript
JQuery 1.4 中的Ajax问题
2010/01/23 Javascript
jquery 提交值不为空的元素示例代码
2013/05/10 Javascript
javascript垃圾收集机制与内存泄漏详细解析
2013/11/11 Javascript
加随机数引入脚本不让浏览器读取缓存
2014/09/04 Javascript
轻松学习jQuery插件EasyUI EasyUI创建树形网络(1)
2015/11/30 Javascript
jQuery实现HTML表格单元格的合并功能
2016/04/06 Javascript
JavaScript导航脚本判断当前导航
2016/07/12 Javascript
引用jquery框架后出错的解决方法
2016/08/09 Javascript
解决layui上传文件提示上传异常,实际文件已经上传成功的问题
2018/08/19 Javascript
vue实现菜单切换功能
2019/05/08 Javascript
JS数组扁平化(flat)方法总结详解
2019/06/24 Javascript
layui写后台表格思路和赋值用法详解
2019/11/14 Javascript
你知道JavaScript Symbol类型怎么用吗
2020/01/08 Javascript
Python简明入门教程
2015/08/04 Python
Python应用03 使用PyQT制作视频播放器实例
2016/12/07 Python
使用Python代码实现Linux中的ls遍历目录命令的实例代码
2019/09/07 Python
python3 dict ndarray 存成json,并保留原数据精度的实例
2019/12/06 Python
有750多个顶级品牌的瑞士时尚在线:ABOUT YOU
2017/01/04 全球购物
The Hut美国/加拿大:英国领先的豪华在线百货商店
2019/03/26 全球购物
日本亚马逊官方网站:Amazon.co.jp
2020/04/14 全球购物
介绍一下javax.servlet.Servlet接口及其主要方法
2015/11/30 面试题
实践单位评语
2014/04/26 职场文书
初中生毕业评语
2014/12/29 职场文书
店铺转让协议书
2015/01/29 职场文书
2015年物资管理工作总结
2015/05/20 职场文书
2016年第29个世界无烟日宣传活动总结
2016/04/06 职场文书
决心书格式及范文
2019/06/24 职场文书
python执行js代码的方法
2021/05/13 Python
2022年显卡天梯图(6月更新)
2022/06/17 数码科技