学习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图片切换插件jquery.cycle.js使用示例
Jun 16 Javascript
JavaScript中的this关键字使用详解
Aug 14 Javascript
json对象与数组以及转换成js对象的简单实现方法
Jun 24 Javascript
jQuery动态生成表格及右键菜单功能示例
Jan 13 Javascript
Angular实现的内置过滤器orderBy排序与模糊查询功能示例
Dec 29 Javascript
CKEditor4配置与开发详细中文说明文档
Oct 08 Javascript
Vue2.x Todo之自定义指令实现自动聚焦的方法
Jan 08 Javascript
Javascript实现一朵从含苞到绽放的玫瑰
Mar 30 Javascript
基于Vue和Element-Ui搭建项目的方法
Sep 06 Javascript
JS判断数组是否包含某元素实现方法汇总
Jun 24 Javascript
jQuery 动态粒子效果示例代码
Jul 07 jQuery
Nuxt的路由配置和参数传递方式
Nov 06 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
自定义PHP分页函数
2006/10/09 PHP
发一个php简单的伪原创程序,配合商城采集用的
2010/10/12 PHP
php+mysqli使用预处理技术进行数据库查询的方法
2015/01/28 PHP
Laravel框架中VerifyCsrfToken报错问题的解决
2017/08/30 PHP
javascript笔记 String类replace函数的一些事
2011/09/22 Javascript
解决css和js的{}与smarty定界符冲突问题的两种方法
2013/09/10 Javascript
input标签内容改变的触发事件介绍
2014/06/18 Javascript
jQuery实现仿百度帖吧头部固定导航效果
2015/08/07 Javascript
基于canvas实现的钟摆效果完整实例
2016/01/26 Javascript
详解JavaScript中基于原型prototype的继承特性
2016/05/05 Javascript
ES2015 Symbol 一种绝不重复的值
2016/12/25 Javascript
Vue.js系列之vue-router(上)(3)
2017/01/03 Javascript
微信小程序点击控件修改样式实例详解
2017/07/07 Javascript
Angularjs 根据一个select的值去设置另一个select的值方法
2018/08/13 Javascript
使用vue点击li,获取当前点击li父辈元素的属性值方法
2018/09/12 Javascript
详解ES7 Decorator 入门解析
2019/02/18 Javascript
jQuery事件绑定和解绑、事件冒泡与阻止事件冒泡及弹出应用示例
2019/05/13 jQuery
vue实现动态按钮功能
2019/05/13 Javascript
vue 子组件watch监听不到prop的解决
2020/08/09 Javascript
JS实现点击掉落特效
2021/01/29 Javascript
python线程池的实现实例
2013/11/18 Python
Python多进程通信Queue、Pipe、Value、Array实例
2014/11/21 Python
Python实现分割文件及合并文件的方法
2015/07/10 Python
python删除过期log文件操作实例解析
2018/01/31 Python
Python实现的从右到左字符串替换方法示例
2018/07/06 Python
python实现简单多人聊天室
2018/12/11 Python
python字典和json.dumps()的遇到的坑分析
2020/03/11 Python
浅谈selenium如何应对网页内容需要鼠标滚动加载的问题
2020/03/14 Python
python torch.utils.data.DataLoader使用方法
2020/04/02 Python
Matplotlib 折线图plot()所有用法详解
2020/07/28 Python
HTML5在手机端实现视频全屏展示方法
2020/11/23 HTML / CSS
英国第一独立滑雪板商店:The Snowboard Asylum
2020/01/16 全球购物
荷兰睡眠专家:Beter Bed
2020/11/23 全球购物
系统管理员的职责包括那些?管理的对象是什么?
2013/01/18 面试题
我的中国梦口号
2014/06/16 职场文书
同学会演讲稿
2019/04/02 职场文书