学习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练习之表单验证实现代码
Dec 14 Javascript
JavaScript 原型继承
Dec 26 Javascript
基于JavaScript 声明全局变量的三种方式详解
May 07 Javascript
Jquery和angularjs获取check框选中的值的方法汇总
Jan 17 Javascript
JS调用某段SQL语句的方法
Oct 20 Javascript
WebSocket实现简单客服聊天系统
May 12 Javascript
vue双花括号的使用方法 附练习题
Nov 07 Javascript
webpack打包js的方法
Mar 12 Javascript
node.js 模块和其下载资源的镜像设置的方法
Sep 06 Javascript
小程序Request的另类用法详解
Aug 09 Javascript
vue中uni-app 实现小程序登录注册功能
Oct 12 Javascript
vue任意关系组件通信与跨组件监听状态vue-communication
Oct 18 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
WINDOWS 2000下使用ISAPI方式安装PHP
2006/09/05 PHP
第五章 php数组操作
2011/12/30 PHP
PHP开发中常用的十个代码样例
2016/02/02 PHP
Yii2 如何在modules中添加验证码的方法
2017/06/19 PHP
详解PHP素材图片上传、下载功能
2019/04/12 PHP
PHP信号处理机制的操作代码讲解
2019/04/19 PHP
PHP中通过getopt解析GNU C风格命令行选项
2019/11/18 PHP
深入理解javascript中defer的作用
2013/12/11 Javascript
原生javascript模仿win8等待提示圆圈进度条
2014/04/24 Javascript
NodeJS中Buffer模块详解
2015/01/07 NodeJs
jQuery实现的背景颜色渐变动画效果示例
2017/03/24 jQuery
微信上传视频文件提示(推荐)
2018/11/22 Javascript
JS函数节流和防抖之间的区分和实现详解
2019/01/11 Javascript
使用Bootstrap做一个朝代历史表
2019/12/10 Javascript
vue+echarts+datav大屏数据展示及实现中国地图省市县下钻功能
2020/11/16 Javascript
用Python代码来解图片迷宫的方法整理
2015/04/02 Python
Python中使用asyncio 封装文件读写
2016/09/11 Python
python 环境变量和import模块导入方法(详解)
2017/07/11 Python
Python实现繁?转为简体的方法示例
2018/12/18 Python
用Python逐行分析文件方法
2019/01/28 Python
pyqt 实现在Widgets中显示图片和文字的方法
2019/06/13 Python
python+selenium定时爬取丁香园的新型冠状病毒数据并制作出类似的地图(部署到云服务器)
2020/02/09 Python
django 解决扩展自带User表遇到的问题
2020/05/14 Python
Python使用urlretrieve实现直接远程下载图片的示例代码
2020/08/17 Python
Python 解析xml文件的示例
2020/09/29 Python
python爬虫智能翻页批量下载文件的实例详解
2021/02/02 Python
通过Canvas及File API缩放并上传图片完整示例
2013/08/08 HTML / CSS
html5 datalist标签使用示例(自动完成组件)
2014/05/04 HTML / CSS
使用Html5 Stream开发实时监控系统
2020/06/02 HTML / CSS
大学系主任推荐信范文
2013/12/24 职场文书
门店业绩提升方案
2014/06/08 职场文书
PHP获取学生成绩的方法
2021/11/17 PHP
MySQL 中如何归档数据的实现方法
2022/03/16 SQL Server
《艾尔登法环》发布最新「战技」宣传片
2022/04/03 其他游戏
Mac电脑OS系统下安装Nginx的详细教程
2022/04/14 Servers
Nginx 常用配置
2022/05/15 Servers