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

 更新时间:2016年01月04日 10:14:42   作者:小火柴的蓝色理想  
这篇文章主要介绍了面向对象选项卡实现方法,帮助大家更好地学习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面向对象有所帮助。

相关文章

  • 支付宝小程序tabbar底部导航

    支付宝小程序tabbar底部导航

    这篇文章主要为大家详细介绍了支付宝小程序重写tabbar底部导航,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-11-11
  • JavaScript中判断网络状态的几种方法

    JavaScript中判断网络状态的几种方法

    这篇文章主要介绍了如何使用JavaScript的`navigator.onLine`属性和`ononline`、`onoffline`事件来检测浏览器的在线状态,并提供了兼容性代码示例,需要的朋友可以参考下
    2025-02-02
  • 浅谈如何使用webpack构建多页面应用

    浅谈如何使用webpack构建多页面应用

    这篇文章主要介绍了浅谈如何使用webpack构建多页面应用,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-05-05
  • D3.js的基础部分之数组的处理数组的排序和求值(v3版本)

    D3.js的基础部分之数组的处理数组的排序和求值(v3版本)

    这篇文章主要介绍了D3.js的基础部分之数组的处理数组的排序和求值(v3版本) ,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-05-05
  • JS实现静态页面搜索并高亮显示功能完整示例

    JS实现静态页面搜索并高亮显示功能完整示例

    这篇文章主要介绍了JS实现静态页面搜索并高亮显示功能,涉及javascript事件响应、字符遍历替换及页面元素属性动态变换等相关操作技巧,需要的朋友可以参考下
    2017-09-09
  • CocosCreator Typescript制作俄罗斯方块游戏

    CocosCreator Typescript制作俄罗斯方块游戏

    目前关于cocos开发俄罗斯方块的文章几乎寥寥无几,因此本文将主要介绍如何通过CocosCreator Typescript制作简单的俄罗斯方块游戏,代码具有一定价值,感兴趣的同学可以学习一下
    2021-11-11
  • uniapp返回上一页并实现刷新界面数据的完整代码

    uniapp返回上一页并实现刷新界面数据的完整代码

    从一个列表界面点击新增按钮,进入新增元素的界面,然后新增之后返回列表界面,并刷新列表界面,下面小编给大家分享uniapp返回上一页,并实现刷新界面数据的代码,感兴趣的朋友跟随小编一起看看吧
    2024-04-04
  • node.js chat程序如何实现Ajax long-polling长链接刷新模式

    node.js chat程序如何实现Ajax long-polling长链接刷新模式

    node.js chat是node.js作者用JS写的一个多人聊天工具, 源代码公开下载,网址是chat.nodejs.org。作者用这个小例子,来展示如何用nodejs开发高效率的应用程序。对于nodejs的学习者来说,是一个很好的例子
    2012-03-03
  • 利用js编写网页进度条效果

    利用js编写网页进度条效果

    这篇文章主要为大家详细介绍了利用js编写网页进度条效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-10-10
  • 深入理解es6块级作用域的使用

    深入理解es6块级作用域的使用

    这篇文章主要介绍了深入理解es6块级作用域的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03

最新评论