慕仙1659025
2015-12-17 10:46
<!DOCTYPE html>
<html>
<head>
<title></title>
<style type="text/css">
*{margin:0px;padding:0px;font:14px normal "microsoft yahei";}
ul{height:30px;width:300px;border:none;border-bottom:2px solid red;display:block;line-height:30px;}
ul li{float:left;cursor:pointer;list-style:none;height:28px;line-height:28px;margin:0px 3px;border:1px solid gray;border-bottom:none;display:inline-block;width:60px;text-align:center;}
.hid{display:none;}
ul li.on{border-top:2px solid red;border-bottom:2px solid white;}
div{width:300px;height:120px;border:1px solid gray;border-top:none;}
</style>
<script type="text/script">
window.onload=function(){
var a=document.getElementsByTagName("li");
var b=document.getElementsByTagName("div");
for(var i=0,len=a.length;i<len;i++)
{
a[i].onclick=function(){
for(var j=0;j<len;j++){
a[j].className="";
b[j].className="hid";
}
a[i].className="on";
b[i].className="";
}
}
}
</script>
</head>
<body>
<ul>
<li class="on">房产</li>
<li>家居</li>
<li>二手房</li>
</ul>
<div>
275万购昌平邻铁三居 总价20万买一居<br />
200万内购五环三居 140万安家东三环<br />
北京首现零首付楼盘 53万购东5环50平<br />
京楼盘直降5000 中信府 公园楼王现房<br />
</div>
<div class="hid">
40平出租屋大改造 美少女的混搭小窝<br />
经典清新简欧爱家 90平老房焕发新生<br />
新中式的酷色温情 66平撞色活泼家居<br />
瓷砖就像选好老婆 卫生间烟道的设计<br />
</div>
<div class="hid">
通州豪华3居260万 二环稀缺2居250w甩<br />
西3环通透2居290万 130万2居限量抢购<br />
黄城根小学学区仅260万 121平70万抛!<br />
独家别墅280万 苏州桥2居优惠价248万<br />
</div>
</body>
</html>
<script type="text/javascript"> //这里不是text/script window.onload=function(){ var a=document.getElementsByTagName("li"); var b=document.getElementsByTagName("div"); for(var i=0,len=a.length;i<len;i++){ (function(i){ //这里用一个闭包就好了 a[i].onclick=function(){ for(var j=0;j<len;j++){ a[j].className=""; b[j].className="hid"; } a[i].className="on"; b[i].className=""; } }(i)) } } </script>
<script type="text/javascript">
给a[i]绑定事件以后,执行的时候才会找到function执行,所以i是后来的值,即循环以后的3,因此需要使用闭包等手段
JavaScript进阶篇
468060 学习 · 21891 问题
相似问题