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 禁用浏览器的后退功能的简单方法
Dec 10 Javascript
jquery获得当前html页面源码的方法
Jul 14 Javascript
jQuery实现输入框下拉列表树插件特效代码分享
Aug 27 Javascript
JavaScript精炼之构造函数 Constructor及Constructor属性详解
Nov 05 Javascript
利用原生JS自动生成文章标题树的实例
Aug 22 Javascript
jQuery实现二维码扫描功能
Jan 09 Javascript
DataTables添加额外的查询参数和删除columns等无用参数实例
Jul 04 Javascript
微信小程序画布圆形进度条显示效果
Nov 17 Javascript
js+html5实现手机九宫格密码解锁功能
Jul 30 Javascript
解决Vue+Element ui开发中碰到的IE问题
Sep 03 Javascript
微信小程序中如何计算距离某个节日还有多少天
Jul 15 Javascript
使用Vue.js中的过滤器实现幂方求值的方法
Aug 27 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新手上路(三)
2006/10/09 PHP
使用ThinkPHP自带的Http类下载远程图片到本地的实现代码
2011/08/02 PHP
基于PHP选项与信息函数的使用详解
2013/05/10 PHP
PHP 5.6.11 访问SQL Server2008R2的几种情况详解
2016/08/08 PHP
php实时倒计时功能实现方法详解
2017/02/27 PHP
php实现微信模板消息推送
2018/03/30 PHP
TP5框架实现的数据库备份功能示例
2020/04/05 PHP
解决PhpStorm64不能启动的问题
2020/06/20 PHP
js宝典学习笔记(上)
2007/01/10 Javascript
JQuery 给元素绑定click事件多次执行的解决方法
2014/09/09 Javascript
jQuery中scrollLeft()方法用法实例
2015/01/16 Javascript
Jquery注册事件实现方法
2015/05/18 Javascript
jQuery UI Bootstrap是什么?
2016/06/17 Javascript
Node.js检测端口(port)是否被占用的简单示例
2016/09/29 Javascript
微信小程序 网络API Websocket详解
2016/11/09 Javascript
解决低版本的浏览器不支持es6的import问题
2018/03/09 Javascript
详解webpack+ES6+Sass搭建多页面应用
2018/11/05 Javascript
Node.js中package.json中库的版本号(~和^)
2019/04/02 Javascript
深入了解js原型模式
2019/05/30 Javascript
Vue 实现创建全局组件,并且使用Vue.use() 载入方式
2020/08/11 Javascript
python实现目录树生成示例
2014/03/28 Python
Python3.5编程实现修改IIS WEB.CONFIG的方法示例
2017/08/18 Python
Python 基础教程之闭包的使用方法
2017/09/29 Python
基于Python数据分析之pandas统计分析
2020/03/03 Python
Python实现子类调用父类的初始化实例
2020/03/12 Python
如何在windows下安装配置python工具Ulipad
2020/10/27 Python
python 简单的调用有道翻译
2020/11/25 Python
外贸销售员求职的自我评价
2013/11/23 职场文书
小区停车场管理制度
2014/01/27 职场文书
小学生学习感言
2014/03/10 职场文书
《沙漠中的绿洲》教学反思
2014/04/24 职场文书
消防安全标语
2014/06/07 职场文书
教师党的群众路线教育实践活动剖析材料
2014/10/09 职场文书
2015年行政部工作总结
2015/04/28 职场文书
导游带团欢迎词
2015/09/30 职场文书
Nginx反向代理、重定向
2022/04/13 Servers