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

大神。帮我看看为什么运行不了,点一下全没了

<!DOCTYPE html>

<html>

<head>

    <meta charset="UTF-8">

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

    <style type="text/css">

     /* CSS样式制作 */ 

     *{padding:0;margin:0;font-size:12px;}

     li{list-style:none;}

     #box{width:290px;padding:5px;height:150px;}

     #box ul{width:100%;height:30px;line-height:30px;border-bottom:1px solid #ccc;}

     #box li{width:33.3%;float:left;text-align:center;}  

     .active{

         

         border-bottom:1px solid #fff;

     }

     .show{

         display:block;

     }

     .hidden{

      display: none;

     }

      

    </style>

    <script type="text/javascript">

         

    // JS实现选项卡切换

    window.onload = function(){

     var Ul1=document.getElementById('ul');

        var lis = document.getElementsByTagName('li');

        var divs = document.getElementsByTagName('div');

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

            lis[i].index = i;

            lis[i].onclick = function(){

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

                    lis[i].className='';

                }

             this.className='active';

             for(var j = 0;j<divs.length;j++){

             divs[j].className='hidden';

             }

             divs[this.index].className='show';

            }

        }

    }

    </script>

 

</head>

<body>

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

<div id="box">

    <ul id="ul">

        <li class="active">房产</li>

        <li>家居</li>

        <li>二手房</li>

    </ul>

    <div>

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

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

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

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

    </div>

    <div class="hidden">

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

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

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

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

    </div>

    <div class="hidden">

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

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

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

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

    </div>

</div>


 

</body>

</html>


提问者:佩佩虎 2018-12-07 15:30

个回答

  • 阳火锅
    2018-12-07 16:13:54
    已采纳

    根据老夫多年来经验,随便眼睛一瞟就发现了2处问题。。

    第一 var lis = document.getElementsByTagName('li');  你的这个取值不严谨。。

    需要改成var lis=Ul1.getElementsByTagName('li');表示ul这个标签下面所有li标签;

    第二就是因为你取值不严谨才导致的什么东西全不见了的问题。。

    你上面这样写var divs = document.getElementsByTagName('div');

    你下面循环的时候 divs[j].className='hidden';给页面所有div都加隐藏,你一点击肯定隐藏啊。。想想看你外层是不是还一个最大的div包着。。你把这个div删了。。我保证你代码可以跑。。