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 是松散型语言,决定了它只是在某一个特定时间保存某一特定的值的一个名字而已.由于在定义变量的时候不需要显示规定必须保存某种类型的值,故变量的值以及保存的 ...
随机推荐
- STM32CUBEF4 实现USB 虚拟串口
一.stm32cubemx 生成工程后USB转串口出现黄色感叹号的问题 如下图所示,在stm32cubemx工程中选择usb转串口功能Communication Device Class (Virtu ...
- Android学习总结(2)——App客户端与服务器交互中的token
学习Token Token是什么? Token是服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登录后,服务器生成一个Token便将此Token返回给客户端,以后客户端只需带上这个Tok ...
- HTTP请求和响应1:概述
HTTP的报文分为请求报文和响应报文,打开一个web页面后,浏览器将发起一个HTTP请求报文.HTTPserver收到请求后将回送一个响应报文. 报文的基本结构 HTTP的请求和响应报文都由三个部分组 ...
- linux 进程等待 wait 、 waitpid
waitpid() 与 wait() 功能相似,都是用户主进程等待子进程结束或中断. 可用于进程之间的同步 wait 函数原型 pid_t wait(int *status); 函数说明 wait() ...
- CSS Text
http://www.runoob.com/css/css-text.html 文本颜色 颜色属性被用来设置文字的颜色. 颜色是通过CSS最经常的指定: 十六进制值 - 如: #FF0000 一个RG ...
- qrcode length overflow 生成二维码网址长度溢出解决办法
QRCode.js is javascript library for making QRCode. QRCode.js supports Cross-browser with HTML5 Canva ...
- 2229: [Zjoi2011]最小割(最小割树)
Description 小白在图论课上学到了一个新的概念——最小割,下课后小白在笔记本上写下了如下这段话: “对于一个图,某个对图中结点的划分将图中所有结点分成两个部分,如果结点s,t不在同一个部分中 ...
- kill&&pkill&&killall---删除执行中的程序
命令功能: 发送指定的信号到相应进程.不指定型号将发送SIGTERM(15)终止指定进程.如果无法终止该程序可用“-KILL” 参数,其发送的信号为SIGKILL(9) ,将强制结束进程 使用ps命令 ...
- coverage python 代码覆盖率工具使用(django 使用)
1. 安装包 pip install coverage 2.启动程序 coverage run -m pytest 3.获取html格式的报告文件 coverage html 4.创建配置文件 .co ...
- 今日题解------codeforces 895C
题意:给你一个数列,然后找任意数量的数字(除了空集),使得他们的乘机为一个数的平方 我们发现元素最大70,所以我们可以从这里入手,平方数有个性质就是它的所有质因子的指数为偶数 比如:36 = 2*2* ...