面向对象-选项卡

 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4     <meta charset="utf-8">
 5     <title>面向对象-选项卡</title>
 6     <style type="text/css">
 7         * { margin:0; padding:0; }
 8         li { list-style: none; }
 9         a { text-decoration:none; }
10
11         body { background-color:#f0f0f0; }
12         .tab-box { width:300px; height:200px; margin:20px auto; }
13         .tab-item { font-size:0; }
14         .tab-item a { line-height:30px; background-color:#666; padding:4px 15px; color:#fff; font-size:14px; -webkit-text-size-adjust:none; margin-right:3px; }
15         .tab-con { position:relative; }
16         .con-box { position:absolute; top:0; left:0; width:298px; height:100px; border:1px solid #999; background-color:#fff; line-height:100px; text-align:center; display:none; }
17         .tab-item a.active { background:#ff0f0f; }
18         .tab-con .show { display:block; }
19     </style>
20
21 <script type="text/javascript">
22     window.onload = function (){
23         var tabOne = new Tab(‘tab-box1‘);
24         tabOne.init();
25
26         var tabTwo = new Tab(‘tab-box2‘);
27         tabTwo.init();
28     };
29 </script>
30 </head>
31 <body>
32     <div class="tab-box" id="tab-box1">
33         <nav class="tab-item">
34             <a class="item-btn active" href="javascript:;">第一项</a>
35             <a class="item-btn" href="javascript:;">第二项</a>
36             <a class="item-btn" href="javascript:;">第三项</a>
37         </nav>
38         <ul class="tab-con">
39             <li class="con-box show">这是第一项的内容</li>
40             <li class="con-box">这是第二项的内容</li>
41             <li class="con-box">这是第三项的内容</li>
42         </ul>
43     </div>
44
45
46     <div class="tab-box" id="tab-box2">
47         <nav class="tab-item">
48             <a class="item-btn active" href="javascript:;">第一项</a>
49             <a class="item-btn" href="javascript:;">第二项</a>
50             <a class="item-btn" href="javascript:;">第三项</a>
51         </nav>
52         <ul class="tab-con">
53             <li class="con-box show">这是第一项的内容</li>
54             <li class="con-box">这是第二项的内容</li>
55             <li class="con-box">这是第三项的内容</li>
56         </ul>
57     </div>
58
59 <script type="text/javascript">
60
61 function Tab(obj){
62     //获取选项卡对象
63     this.oItem = document.getElementById(obj);
64     //获取选项卡按钮集合
65     this.aBtn = this.oItem.getElementsByTagName(‘a‘);
66     //获取选项卡内容集合
67     this.aConBox = this.oItem.getElementsByTagName(‘li‘);
68
69     //计算选项卡数量
70     this.len = this.aBtn.length;
71 }
72
73 Tab.prototype.init = function(){
74     var _this = this;
75     for(var i=0; i<this.len; i++){
76         this.aBtn[i].index = i;
77         this.aBtn[i].onclick = function(){
78             _this.change(this);
79         }
80     }
81 }
82
83 Tab.prototype.change = function(obj){
84     for(var i=0; i<this.len; i++){
85         this.aBtn[i].className = ‘‘;
86         this.aConBox[i].style.display = ‘none‘;
87     }
88     obj.className = ‘active‘;
89     this.aConBox[obj.index].style.display = ‘block‘;
90 }
91
92 </script>
93
94 </body>
95 </html>
时间: 2024-10-24 13:27:35

面向对象-选项卡的相关文章

基于jquery的ES6面向对象选项卡

ES5中的面向对象相信大家都非常熟悉,包括一系列的配置参数,方法,自定义事件等,现在简单介绍一下es6面向对象的一些知识还有一个基于jquery的es6面向对象选项卡的写法. ES6中提供了基于类class的面向对象语法.但class实际上是ES6提供的一颗语法糖,JavaScript是一门基于原型的面向对象语言. // 父类 class Test { // 构造器 constructor (arg1, arg2) { this.arg1 = arg1; this.arg2 = arg2; }

面向对象选项卡组件

离校实习前端工作一个月,第一次用面向对象写的点击切换选项卡组件,点击左右按钮分别切换不同的选项 基于JQ的一个组件 //创建构造函数function ShowNews(selector){ this.i=0; this.num=$(selector).length;}//添加切换方法ShowNews.prototype.show=function(selector,nextbtn,prevbtn){ var _this=this;//下一张$(nextbtn).click(function(){

javascript面向对象系列4——实例篇(最简单的面向对象选项卡)

[功能说明] 点击三个按钮分别显示对应的选项卡 [html代码说明] <div class="box" id="box"> <ul class="list"> <li class="in_active">第一张选项卡</li> <li class="in">第二张选项卡</li> <li class="in"&

手写js面向对象选项卡插件

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>无缝滚动</title>    <style type="text/css">        body,ul{margin: 0;padding: 0;}        li{list-style: none;}  

面向对象选项卡

<!DOCTYPE html><html><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> <title>Docu

js 面向对象选项卡

  <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>无标题文档</title> <style> *{ margin:0; padding:0;} #box{ width:500px; height:400px; margin

选项卡,面向对象

<!doctype html><html><head><meta charset="utf-8"><meta name="author" content="" /><meta name="copyright" content="" /><meta name="description" content="

原生js面向对象编程-选项卡(点击)

<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title>原生js面向对象选项卡(点击)</title> <style> #div1 div{ width:400px; height:300px; border:1px solid #ccc; overflow: hidden; display: non

javascript面向对象系列5——知识点(原型和原型链)

基本概念 [原型链]每个构造函数都有一个对象,原型对象都包含一个指向构造函数的指针,而实例都包含一个指向原型对象的内部指针.那么,如果原型对象等于另一个原型的实例,此时的原型对象将包含一个指向另一个原型的指针,相应地,另一个原型中也包含着一个指向另一个构造函数的指针.如果另一个原型又是另一个原型的实例,那么上述关系依然成立.如此层层递进,就构成了实例与原型的链条. [原型对象]这个对象包含可以由特定类型的所有实例共享的属性和方法.所有引用类型默认都继承了Object,而这个继承也是通过原型链实现