问答详情
源自:10-1 编程挑战

我这为什么javascript效果出不来 求大神帮我看看 , 找了一上午了 不知道问题出哪了······

<!DOCTYPE HTML>

<html>

<head>

    <meta charset="UTF-8">

    <title>实践题 - 选项卡</title>

    <style type="text/css">

     /* CSS样式制作 */  

       *{padding: 0px;

           margin:0px;

  font:12px;}

       #tabl{

  width:300px;

  height:150px;

  padding:15px;

  margin:20px}

#tabl ul{

list-style:none;

display:block;

height:30px;

line-height:30px;

border-bottom:2px solid saddlebrown;}

#tabl ul li{

display:inline-block;

float:left;

width:60px;

height:28px;

line-height:28px;

padding:0px;

margin:0px 3px;

border:1px solid #aaa;

   border-bottom:none;

text-align:center;

list-style:none;

cursor:pointer;

}

#tabl ul li.on{

border-top:2px solid saddlebrown;

border-bottom:2px solid #fff;

}

    #tabl div{

    height:120px;

line-height:25px;

padding:5px;

border:1px solid #ccc;

border-top:none;

}

.hide{display:none}

    </style>

    <script type="text/javascript">

        window.onload = function(){<br>

           var otabl = document.getElementById("tabl");

 

  var oli = document.getElementsByTagName("li");

  var odiv = otabl.getElementsByTagName("div");

   for(var i=0;i<oli.length;i++){

  oli[i].index = i;

  oli[i].onclick = function() {

      for(var n=0;n<oli.length;n++){

      oli[n].className="";

              odiv[n].className="hide"

  }

}

  this.className="on";

  odiv[this.index].className="";//显示下一个div


   }

}



    </script>

 

</head>

<body id="tabl">

<!-- HTML页面布局 -->


      <ul>

             <li>房产</li>

             <li>家居</li>

              <li>二手房</li>

      </ul>


<div> 

      275万购昌平邻铁三居 总价20万买一居<br>

    200万内购五环三居 140万安家东三环<br>

    北京首现零首付楼盘 53万购东5环50平<br>

    京楼盘直降5000 中信府 公园楼王现房<br>

</div>

<div>

      40平出租屋大改造 美少女的混搭小窝<br>

     经典清新简欧爱家 90平老房焕发新生<br>

     新中式的酷色温情 66平撞色活泼家居<br>

     瓷砖就像选好老婆 卫生间烟道的设计<br>

</div>

 <div>

      通州豪华3居260万 二环稀缺2居250w甩<br>

     西3环通透2居290万 130万2居限量抢购<br>

     黄城根小学学区仅260万 121平70万抛!<br>

     独家别墅280万 苏州桥2居优惠价248万<br>

 

 </div>

</body>

</html>


提问者:忘不了的乡下妞 2014-11-28 12:01

个回答

  • 偌颜宁
    2014-11-28 13:57:33
    已采纳

    this.className="on";
    odiv[this.index].className="";//显示下一个div

    在我试你的代码的时候,发现是这两句话放的位置不对,应该放在for循环中,如果还不会的话,右侧有源代码下载可以参考