JS学习笔记 - 面向对象 - 选项卡 (普通选项卡改写)
选项卡3
<script>
window.onload=function ()
{
new TabSwitch('div1');
}; function TabSwitch(id) // TabSwitch 是 id 的 对象??
{
// var oDiv=document.getElementById('div1');
var oDiv=document.getElementById(id); this.aBtn=oDiv.getElementsByTagName('input'); // 变量 => 属性
this.aDiv=oDiv.getElementsByTagName('div');
//去除了全局变量 var aBtn = null; var aDiv = null;
// 把aBtn / aDiv 变成了 TabSwitch函数的 属性。 for(var i=0;i<this.aBtn.length;i++)
{
this.aBtn[i].index=i; this.aBtn[i].onclick = this.fnClick;
// fnClick 写成 this.fnClick
//(这里不再是函数了,是 TabSwitch的方法,所以要这样写)
}
}; //function fnClick(){}; => TabSwitch.prototype.fnClick=function (){};
// 函数 => 方法 TabSwitch.prototype.fnClick=function ()
// 给TabSwitch 添加 fnClick 这个方法
{
for(var i=0;i<this.aBtn.length;i++) // aBtn.length => this.aBtn.length
{
this.aBtn[i].className=''
this.aDiv[i].style.display='none';
}
oBtn.className='active';
this.aDiv[oBtn.index].style.display='block';
}
</script>
选项卡2
<script>
var aBtn=null; // 全局变量,window.onload 和 fnClick 都可以用
var aDiv=null; window.onload=function ()
{
var oDiv=document.getElementById('div1');
aBtn=oDiv.getElementsByTagName('input');
//这里获取变量的内容,能在下面fnClick函数里识别?? aDiv=oDiv.getElementsByTagName('div'); for(var i=0;i<aBtn.length;i++)
{
aBtn[i].index=i;
aBtn[i].onclick=fnClick;
}
}; function fnClick()
{
for(var i=0;i<aBtn.length;i++)
{
aBtn[i].className=''
aDiv[i].style.display='none';
}
this.className='active';
aDiv[this.index].style.display='block';
}
</script>
JS学习笔记 - 面向对象 - 选项卡 (普通选项卡改写)的更多相关文章
- JS学习笔记 - 面向对象
类.对象类:模子对象:产品(成品) 蛋糕(对象) 模子(类) Array 类 arr 对象 Array.push(); 错 arr.push(); 对 new arr(); 错 原型prototype ...
- JS学习笔记 - 面向对象 - 原型
<script> var arr1 = new Array(12, 55, 34, 78, 676); var arr2 = new Array(12, 33, 1) Array.prot ...
- 0028 Java学习笔记-面向对象-Lambda表达式
匿名内部类与Lambda表达式示例 下面代码来源于:0027 Java学习笔记-面向对象-(非静态.静态.局部.匿名)内部类 package testpack; public class Test1{ ...
- 0025 Java学习笔记-面向对象-final修饰符、不可变类
final关键字可以用于何处 修饰类:该类不可被继承 修饰变量:该变量一经初始化就不能被重新赋值,即使该值跟初始化的值相同或者指向同一个对象,也不可以 类变量: 实例变量: 形参: 注意可以修饰形参 ...
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- Vue.js学习笔记(2)vue-router
vue中vue-router的使用:
- 0030 Java学习笔记-面向对象-垃圾回收、(强、软、弱、虚)引用
垃圾回收特点 垃圾:程序运行过程中,会为对象.数组等分配内存,运行过程中或结束后,这些对象可能就没用了,没有变量再指向它们,这时候,它们就成了垃圾,等着垃圾回收程序的回收再利用 Java的垃圾回收机制 ...
- 0013 Java学习笔记-面向对象-static、静态变量、静态方法、静态块、单例类
static可以修饰哪些成员 成员变量---可以修饰 构造方法---不可以 方法---可以修饰 初始化块---可以修饰 内部类(包括接口.枚举)---可以修饰 总的来说:静态成员不能访问非静态成员 静 ...
- JS 学习笔记--9---变量-作用域-内存相关
JS 中变量和其它语言中变量最大的区别就是,JS 是松散型语言,决定了它只是在某一个特定时间保存某一特定的值的一个名字而已.由于在定义变量的时候不需要显示规定必须保存某种类型的值,故变量的值以及保存的 ...
随机推荐
- Python socket doesn't close connection properly
Python socket doesn't close connection properly The error information: [Errno 98] Address already in ...
- HTML5:标记文字
文本层面的元素(简称文本元素).把这些元素加入文本其中,也就引入了结构和含义. HTML5规范明白指出:使用元素应该全然从元素的语义出发.但这类元素中有些元素的含义很明白,有些则比較含糊. 在元素的使 ...
- Viewpager切换时pager页面的生命周期变化
总结1: 当我们把ViewPager和Fragment合用的时候,切换页面时生命周期会发生对应的变化.变化规律:载入当前页面.前一个页面和后一个页面.我们来看一个实际測试效果图 打开应用会载入第一个页 ...
- #学习笔记#——JavaScript 数组部分编程(三)
3.在数组 arr 末尾添加元素 item.不要直接修改数组 arr,结果返回新的数组 主要考察数组的concat方法,代码如下: arr.concat(item); concat 方法不修改原数组. ...
- 分享一下事件监听addEventListener----attachEvent的用法
来自:http://www.cnblogs.com/wkylin/archive/2011/10/09/2203161.html 事件监听addEventListener----attachEvent ...
- c# 装箱与拆箱的概念
1装箱 就是将值类型的数据赋值给引用类型的实例中 比如 int类型的123赋值给Object o int i=123; Object o=(Object) i; 2拆箱 就是从引用类型的数据中提取数据 ...
- 前端js中this指向及改变this指向的方法
js中this指向是一个难点,花了很长时间来整理和学习相关的知识点. 一. this this是JS中的关键字, 它始终指向了一个对象, this是一个指针; 参考博文: JavaScript函数中的 ...
- JavaScript作用域闭包(你不知道的JavaScript)
JavaScript闭包.是JS开发project师必须深入了解的知识. 3月份自己曾撰写博客<JavaScript闭包>.博客中仅仅是简单阐述了闭包的工作过程和列举了几个演示样例,并没有 ...
- Windows简单入门-送给第一次使用电脑的朋友
序言 写本篇文章前.不得不说我已经好久没有写博客了,快接近3个月了 吧,本来去年说參加今年的博客之星的,结果这都立即结束了:不得不说对自己有些嘲讽. 本篇文章是纯小白文章.之所以写这个是由于前段时间妹 ...
- vue.js有什么用,是用来做什么的(整理)
vue.js有什么用,是用来做什么的(整理) 一.总结 一句话总结:用数据绑定的思想,vue可以简单写单个页面,也可以写一个大的前端系统,也可以做手机app的界面. 1.Vue.js是什么? 渐进式框 ...