学习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 相关文章推荐
HTTP状态代码以及定义(解释)
Feb 02 Javascript
js限制文本框只能输入数字(正则表达式)
Jul 15 Javascript
如何在指定的地方插入html内容和文本内容
Dec 23 Javascript
JS常用字符串处理方法应用总结
May 22 Javascript
JavaScript实现的一个计算数字步数的算法分享
Dec 06 Javascript
ECharts仪表盘实例代码(附源码下载)
Feb 18 Javascript
Javascript中的数组常用方法解析
Jun 17 Javascript
JavaScript实现前端分页控件
Apr 19 Javascript
vue 和vue-touch 实现移动端左右导航效果(仿京东移动站导航)
Apr 22 Javascript
vue2.x数组劫持原理的实现
Apr 19 Javascript
JS判断数组四种实现方法详解
Jun 29 Javascript
解决vue使用vant轮播组件swipe + flex时文字抖动问题
Jan 07 Vue.js
学习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 字符转义 注意事项
2009/05/27 PHP
PHP防CC攻击实现代码
2011/12/29 PHP
windows下PHP_intl.dll正确配置方法(apache2.2+php5.3.5)
2014/01/14 PHP
php操作xml入门之cdata区段
2015/01/23 PHP
PIGCMS 如何关闭聊天机器人
2015/02/12 PHP
php数组函数array_key_exists()小结
2015/12/10 PHP
tp5(thinkPHP5)框架实现多数据库查询的方法
2019/01/10 PHP
javascript 限制输入和粘贴(IE,firefox测试通过)
2008/11/14 Javascript
关闭时刷新父窗口两种方法
2014/05/07 Javascript
jQuery中empty()方法用法实例
2015/01/16 Javascript
javascript:void(0)是什么意思及href=#与href=javascriptvoid(0)的区别
2015/11/13 Javascript
Angularjs 创建可复用组件实例代码
2016/10/09 Javascript
JS访问DOM节点方法详解
2016/11/29 Javascript
canvas滤镜效果实现代码
2017/02/06 Javascript
详解nodejs中exports和module.exports的区别
2017/02/17 NodeJs
React-Native之定时器Timer的实现代码
2017/10/04 Javascript
微信小程序 动画的简单实例
2017/10/12 Javascript
微信小程序开发实现的选项卡(窗口顶部/底部TabBar)页面切换功能图文详解
2019/05/14 Javascript
Vue实现页面添加水印功能
2019/11/09 Javascript
如何利用nodejs实现命令行游戏
2020/11/24 NodeJs
Python Subprocess模块原理及实例
2019/08/26 Python
python循环输出三角形图案的例子
2019/11/22 Python
Python @property装饰器原理解析
2020/01/22 Python
解决django中form表单设置action后无法回到原页面的问题
2020/03/13 Python
英国文具、办公用品和科技商店:Ryman
2018/09/27 全球购物
美国校服网上商店:French Toast
2019/10/08 全球购物
农救科工作职责
2013/11/27 职场文书
大学生就业推荐信范文
2013/11/29 职场文书
水果超市创业计划书
2014/01/27 职场文书
新疆民族团结演讲稿
2014/08/27 职场文书
团代会闭幕词
2015/01/28 职场文书
英语教师个人工作总结
2015/02/09 职场文书
诚实守信主题班会
2015/08/13 职场文书
python opencv常用图形绘制方法(线段、矩形、圆形、椭圆、文本)
2021/04/12 Python
详解MySQL主从复制及读写分离
2021/05/07 MySQL
分析MySQL优化 index merge 后引起的死锁
2022/04/19 MySQL