学习javascript面向对象 实例讲解面向对象选项卡


Posted in Javascript onJanuary 04, 2016

本文实例讲解了最简单的面向对象选项卡实现方法,分享给大家供大家参考,具体内容如下

效果图:

学习javascript面向对象 实例讲解面向对象选项卡

1、功能说明

点击三个按钮分别显示对应的选项卡
2、html代码说明

<div class="box" id="box">
 <ul class="list">
  <li class="in_active">第一张选项卡</li>
  <li class="in">第二张选项卡</li>
  <li class="in">第三张选项卡</li>
 </ul>
 <nav class="conList">
  <a class="con_active" href="javascript:;">第一个控制按钮</a>
  <a class="con" href="javascript:;">第二个控制按钮</a>
  <a class="con" href="javascript:;">第三个控制按钮</a>
 </nav> 
</div>

3、css重点代码说明

/*in为选项卡普通状态,默认不显示*/
.in,.in_active{
 display: none;
 width: 600px;
 height: 100px;
 background: orange;
 font-size: 50px;
 line-height: 100px;
 text-align: center;
}
/*in_active为选项卡选中状态,选中后显示*/
.in_active{
 display: block;
}
/*con为按钮普通状态,默认文字颜色为黑色*/
.con,.con_active{
 color: black;
 background-color: orange;
}
/*con_active为按钮选中状态,选中后文字颜色为白色*/
.con_active{
 color: white; 
}

4、js代码说明

function Tab(obj){
 /*元素获取*/
 //获取选项卡展示部分
 this.oList = obj.getElementsByTagName('ul')[0];
 this.aIn = this.oList.getElementsByTagName('li');
 //获取选项卡控制部分
 this.oConList = obj.getElementsByTagName('nav')[0];
 this.aCon = this.oConList.getElementsByTagName('a');
 /*变量设置*/
 //选项卡张数
 this.count = this.aIn.length;
 //当前第几张
 this.cur = 0;
 var _this = this;

 for(var i = 0; i < this.count; i++){
  //设置索引
  this.aCon[i].index = i;
  //给按钮添加事件
  this.aCon[i].onclick = function(){
   _this.cur = this.index;
   _this.switch();
  }
 }
}
Tab.prototype.switch = function(){
 //去掉所有
 for(var i = 0; i < this.count; i++){
  this.aIn[i].className = 'in';
  this.aCon[i].className = 'con';
 }
 //显示当前
 this.aIn[this.cur].className = 'in_active';
 this.aCon[this.cur].className = 'con_active'; 
}
//获取选项卡元素
var oBox = document.getElementById('box');
//构造选项卡对象
var tab1 = new Tab(oBox);

希望本文所述对大家学习javascript面向对象有所帮助。

Javascript 相关文章推荐
jquery ajax例子返回值详解
Sep 11 Javascript
JavaScript对象和字串之间的转换实例探讨
Apr 21 Javascript
使用jquery hover事件实现表格的隔行换色功能示例
Sep 03 Javascript
jquery checkbox 勾选的bug问题解决方案与分析
Nov 13 Javascript
了解Javascript的模块化开发
Mar 02 Javascript
JQuery自动触发事件的方法
Jun 13 Javascript
web 屏蔽BackSpace键实例代码
Dec 24 Javascript
Vue Transition实现类原生组件跳转过渡动画的示例
Aug 19 Javascript
Angularjs实现数组随机排序的方法
Oct 02 Javascript
微信小程序的mpvue框架快速上手指南
May 15 Javascript
详解基于 Node.js 的轻量级云函数功能实现
Jul 08 Javascript
JS实现普通轮播图特效
Jan 01 Javascript
学习javascript面向对象 javascript实现继承的方式
Jan 04 #Javascript
学习javascript面向对象 掌握创建对象的9种方式
Jan 04 #Javascript
jQuery自动完成插件completer附源码下载
Jan 04 #Javascript
学习javascript面向对象 理解javascript对象
Jan 04 #Javascript
基于JavaScript实现移除(删除)数组中指定元素
Jan 04 #Javascript
实例代码详解javascript实现窗口抖动及qq窗口抖动
Jan 04 #Javascript
javascript基础语法学习笔记
Jan 04 #Javascript
You might like
10个php函数实用却不常见
2015/10/13 PHP
Yii控制器中操作视图js的方法
2016/07/04 PHP
php 读写json文件及修改json的方法
2018/03/07 PHP
PHP学习笔记之session
2018/05/06 PHP
PHP基于mcript扩展实现对称加密功能示例
2019/02/21 PHP
jQuery select操作控制方法小结
2010/05/26 Javascript
利用JavaScript检测CPU使用率自己写的
2014/03/22 Javascript
JavaScript实现显示函数调用堆栈的方法
2016/04/21 Javascript
js 上传文件预览的简单实例
2016/08/16 Javascript
vue组件父子间通信之综合练习(聊天室)
2017/11/07 Javascript
微信小程序获取手机网络状态的方法【附源码下载】
2017/12/08 Javascript
JQuery通过键盘控制键盘按下与松开触发事件
2020/08/07 jQuery
[53:23]Secret vs Liquid 2018国际邀请赛淘汰赛BO3 第二场 8.25
2018/08/29 DOTA
python 迭代器和iter()函数详解及实例
2017/03/21 Python
Python结巴中文分词工具使用过程中遇到的问题及解决方法
2017/04/15 Python
python实现发送邮件及附件功能
2021/03/02 Python
python使用Tkinter实现在线音乐播放器
2018/01/30 Python
在Python中给Nan值更改为0的方法
2018/10/30 Python
python3.6+django2.0+mysql搭建网站过程详解
2019/07/24 Python
python动态视频下载器的实现方法
2019/09/16 Python
python生成requirements.txt的两种方法
2019/09/18 Python
HTML5+CSS3实现无插件拖拽上传图片(支持预览与批量)
2017/01/05 HTML / CSS
你可能不熟练的十个前端HTML5经典面试题
2018/07/03 HTML / CSS
GAP欧盟网上商店:GAP EU
2016/09/13 全球购物
世界上最大的专业美容用品零售商:Sally Beauty
2017/07/02 全球购物
C有"按引用传递"吗
2016/09/06 面试题
学生干部学习的自我评价
2014/02/18 职场文书
党员创先争优活动总结
2014/05/04 职场文书
服务标语大全
2014/06/18 职场文书
委托书怎么写
2014/07/31 职场文书
践行三严三实心得体会
2014/10/13 职场文书
谁动了我的奶酪读书笔记
2015/06/30 职场文书
婚庆答谢词大全
2015/09/29 职场文书
导游词之山西关帝庙
2019/11/01 职场文书
JavaScript阻止事件冒泡的方法
2021/12/06 Javascript
CSS3实现指纹特效代码
2022/03/17 HTML / CSS