为了账号安全,请及时绑定邮箱和手机立即绑定

代码实现不了,哪里有问题的,求大神指导


<!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>


正在回答

2 回答

<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>


0 回复 有任何疑惑可以回复我~
#1

慕仙1659025 提问者

十分感谢!
2015-12-17 回复 有任何疑惑可以回复我~
#2

慕仙1659025 提问者

谢谢!
2015-12-17 回复 有任何疑惑可以回复我~
  1. <script type="text/javascript"> 

  2. 给a[i]绑定事件以后,执行的时候才会找到function执行,所以i是后来的值,即循环以后的3,因此需要使用闭包等手段

0 回复 有任何疑惑可以回复我~
#1

慕仙1659025 提问者

谢谢你
2015-12-17 回复 有任何疑惑可以回复我~
#2

慕侠0342173

请问为什么加了aLi[i].index=i; 并且用this之后就不用加闭包了呢?
2016-01-14 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

代码实现不了,哪里有问题的,求大神指导

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信