请大佬帮忙看下,我的选项卡切换哪里有问题

来源:10-1 编程挑战

田马达加斯加

2018-10-15 18:39

<!DOCTYPE html>

<html>

<head>

    <meta charset="UTF-8">

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

    <style type="text/css">

     /* CSS样式制作 */

     *{

        margin:0;

        padding:0;

     }

     a{

        text-decoration:none;

        color:red;

     }

     ul,li{

        list-style:none;

     }

     ul.menu{

        margin-top:50px;

        width:600px;

        height:52px;

        padding:0px 50px;

        margin-left:50px;

        border-bottom:2px solid red;

     }  

     li{

        display:inline-block;

        width:100px;

        text-align:center;

        line-height:50px;

        border:1px solid #ccc;

        border-bottom:none;

     } 

     div{

        width:600px;

        height:100px;

        padding:50px;

        border:1px solid #aaa;

        border-top:none;

        margin-left:50px;

        display:none;

     }

     li.item_active{

        border-top:2px solid red;

        border-bottom:2px solid #fff;

     }

      div.content_active{

        display:block;

      } 

    </style>

    <script type="text/javascript">

        var alists=document.getElementsByTagName('a');

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

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

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

            lists.setAttribute('data-index',i);

            alists[i].onclick=function(){

                var indexNum=this.getAttribute('data-index');

                console.log(indexNum);

                // 先遍历所有的div,使得所有都隐藏,

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

                    contents[j].hide();

                    lists[j].removeClass('item_active');

                }

                // 再将索引为indexNum的div显示.

                contents[indexNum].show();

                lists[indexNum].addClass('item_active');

            }

        }

    </script>

 

</head>

<body>

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

<ul class="menu">

    <li class="item item_active"><a href="#">房产</a></li>

    <li class="item"><a href="#">家居</a></li>

    <li class="item"><a href="#">二手房</a></li>

</ul>

<div class="item-content content_active">

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

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

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

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

</div>

<div class="item-content">

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

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

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

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

</div>

<div class="item-content">

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

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

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

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

</div>

 

</body>

</html>


写回答 关注

1回答

  • 孙刘
    2018-10-16 19:12:07

    javascript的位置写错了,如果你要这样写,应该改成这样<script> window.onload = function(){ 

    var alists=document.getElementsByTagName('a');

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

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

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

                lists.setAttribute('data-index',i);

                alists[i].onclick=function(){

                    var indexNum=this.getAttribute('data-index');

                    console.log(indexNum);

                    // 先遍历所有的div,使得所有都隐藏,

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

                        contents[j].hide();

                        lists[j].removeClass('item_active');

                    }

                    // 再将索引为indexNum的div显示.

                    contents[indexNum].show();

                    lists[indexNum].addClass('item_active');

                }

            }

    } <script>   这里还有很多错误

    田马达加斯加

    我明白了,谢谢啦

    2018-10-17 14:12:45

    共 2 条回复 >

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468729 学习 · 22077 问题

查看课程

相似问题