JavaScript面向对象实现简易选项卡教程
作者:像素猫时间:2026-10-29 19:54:58浏览:532
本文通过一个完整的面向对象选项卡实例,详细讲解JavaScript中面向对象编程在DOM操作中的应用。内容涵盖HTML结构搭建、CSS样式控制以及核心JS类的封装与事件绑定,帮助开发者理解如何通过构造函数和原型方法实现模块化的交互组件。
JavaScript面向对象选项卡实现教程
本文通过一个完整的面向对象选项卡实例,详细讲解JavaScript中面向对象编程在DOM操作中的应用,供读者参考学习。
具体运行效果如下图所示:

功能说明
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>
HTML结构说明
2、html代码说明
/*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;
}
CSS样式关键点
3、css重点代码说明
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核心代码解析
4、js代码说明
作者最新文章
js-cookie 安装与基础用法:set、get、remove 详解
2026-11-05 16:35:06
适合JavaScript初学者的实战项目:制作简易待办事项列表
2026-11-05 16:17:07
JS打开新标签页时怎么通过URL传递参数
2026-11-05 12:21:08
sigma.js 自定义节点样式:设置颜色、大小及标签显示的技巧
2026-11-05 09:55:00
JS 生成的统计图怎么导出为 PNG 图片或 PDF 文件?
2026-11-05 09:37:58
