学习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 相关文章推荐
Javascript图像处理—亮度对比度应用案例
Jan 03 Javascript
js实现键盘操作实现div的移动或改变的原理及代码
Jun 23 Javascript
jQuery+ajax实现动态执行脚本的方法
Jan 27 Javascript
js实现同一个页面多个渐变效果的方法
Apr 10 Javascript
JS实现黑色风格的网页TAB选项卡效果代码
Oct 09 Javascript
深入理解jquery自定义动画animate()
May 24 Javascript
jQuery+PHP+Mysql实现抽奖程序
Apr 12 jQuery
JS数组交集、并集、差集的示例代码
Aug 23 Javascript
再谈Angular4 脏值检测(性能优化)
Apr 23 Javascript
JavaScript 中的12种循环遍历方法【总结】
May 31 Javascript
Vue中的组件及路由使用实例代码详解
May 22 Javascript
Angular 多级路由实现登录页面跳转(小白教程)
Nov 19 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原理的opcodes(操作码)
2010/10/26 PHP
php记录日志的实现代码
2011/08/08 PHP
PHP--用万网的接口实现域名查询功能
2012/12/13 PHP
php防止网站被攻击的应急代码
2015/10/21 PHP
分析php://output和php://stdout的区别
2018/05/06 PHP
jQuery控制图片的hover效果(smartRollover.js)
2012/03/18 Javascript
js三种排序算法分享
2012/08/16 Javascript
js的压缩及jquery压缩探讨(提高页面加载性能/保护劳动成果)
2013/01/29 Javascript
jQuery实现非常实用漂亮的select下拉菜单选择效果
2015/11/06 Javascript
JavaScript 不支持 indexof 该如何解决
2016/03/30 Javascript
javaScript事件学习小结(四)event的公共成员(属性和方法)
2016/06/09 Javascript
基于jQuery实现选项卡效果
2017/01/04 Javascript
Move.js入门
2017/02/08 Javascript
Angularjs修改密码的实例代码
2017/05/26 Javascript
Redux 和 Mobx的选择问题:让你不再困惑!
2017/09/18 Javascript
echarts同一页面中四个图表切换的js数据交互方法示例
2018/07/03 Javascript
使用JS获取页面上的所有标签
2018/10/18 Javascript
vue生命周期的探索
2019/04/03 Javascript
Vue安装浏览器开发工具的步骤详解
2019/05/12 Javascript
微信小程序 image组件遇到的问题
2019/05/28 Javascript
jQuery实现动态加载(按需加载)javascript文件的方法分析
2019/05/31 jQuery
Vue将props值实时传递 并可修改的操作
2020/08/09 Javascript
[06:09]辉夜杯主赛事开幕式
2015/12/25 DOTA
Python进程间通信用法实例
2015/06/04 Python
python字符串分割及字符串的一些常规方法
2019/07/24 Python
pytorch动态网络以及权重共享实例
2020/01/06 Python
解决Python import docx出错DLL load failed的问题
2020/02/13 Python
python删除文件、清空目录的实现方法
2020/09/23 Python
一款利用纯css3实现的超炫3D表单的实例教程
2014/12/01 HTML / CSS
HTML5调用手机发短信和打电话功能
2020/04/29 HTML / CSS
世界上最值得信赖的多日游在线市场:TourRadar
2018/07/20 全球购物
周仰杰(JIMMY CHOO)英国官方网站:闻名世界的鞋子品牌
2018/10/28 全球购物
学术会议主持词
2014/03/17 职场文书
感恩教育活动总结
2014/05/05 职场文书
2016年大学迎新晚会工作总结
2015/10/15 职场文书
Python OpenCV超详细讲解调整大小与图像操作的实现
2022/04/02 Python