[Js]面向对象的选项卡实例
中间过渡环节:把面向过程的程序,改写成面向对象的形式
<html
xmlns="http://www.w3.org/1999/xhtml">
<head>
<style>
#div1
input {background:#CCC;}
#div1 .active {background:yellow;}
#div1 div
{width:200px; height:200px; background:#CCC;
display:none;}
</style>
<meta http-equiv="Content-Type"
content="text/html; charset=utf-8"
/>
<title>无标题文档</title>
<script>
window.onload=function
()
{
var
oDiv=document.getElementById(‘div1‘);
var
aBtn=oDiv.getElementsByTagName(‘input‘);
var
aDiv=oDiv.getElementsByTagName(‘div‘);
var
i=0;
for(i=0;i<aBtn.length;i++)
{
aBtn[i].index=i;
aBtn[i].onclick=function ()
{
for(i=0;i<aBtn.length;i++)
{
aBtn[i].className=‘‘;
aDiv[i].style.display=‘none‘;
}
this.className=‘active‘;
aDiv[this.index].style.display=‘block‘;
};
}
};
</script>
</head>
<body>
<div
id="div1">
<input class="active" type="button"
value="教育" />
<input type="button" value="财经"
/>
<input type="button" value="aaa"
/>
<div
style="display:block;">1asdfasdfds</div>
<div>2xzcvxzcv</div>
<div>5332342345</div>
</div>
</body>
</html>
改写注意事项:
1.前提:所有代码必须包含在window.onload里面
2.去掉函数嵌套(window.onload里面嵌套的函数拎到window.onload外面去)
3.不能有函数嵌套,但可以有全局变量(比如onclick函数拎出去后,aBtn是window.onload函数里的私有变量,onclick函数不能用)
过程:
1.onload→构造函数
2.全局变量→属性
3.函数→方法
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。