screenshots.gif

<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=<device-width>, initial-scale=1.0">
    <title>Document</title>
<style>

    .hd span{
        display:inline-block;
        width:90px;
        background-color:pink;
        line-height:45px;
        text-align:center;
        cursor:pointer;

    }



    .hd span.current{
        background-color:skyblue;

    }

    .bd div{
        height: 255px;
        background-color:skyblue;
        display:none;
    }

    .bd div.current{
        display:block;

    }


</style>

</head>
<body>
    <div class="box" >




            <div class="hd" id="hd">
                <span class="current">体育</span>
                <span>娱乐</span>
                <span>新闻</span>
                <span>综合</span>
            </div>

            <div class="bd" id="bd">
                <div class="current">我是体育模块</div>
                <div>我是娱乐模块</div>
                <div>我是新闻模块</div>
                <div>我是综合模块</div>
            </div>





    </div>


<script>
function my$(id){return document.getElementById(id)};
    //获取元素
    var hd = my$("hd");
    var spans = hd.getElementsByTagName("span");
    var bd = my$("bd");
    var divs = bd.getElementsByTagName("div");


    //鼠标移上某个span让它添加一个类名,其他的span失去类名
    for(i = 0; i < spans.length; i++){
        //给每一个span元素添加一个新的属性,记录自己在数组中的下标。
        spans[i].index = i;

        spans[i].onmouseover = function(){
            //排除其他
            for(var j = 0; j < spans.length; j++){
                spans[j].className = "";
                //由于divs中数据和数据个数与spans一样,所以可以再同一个遍历循环中,进行排他操作。

                divs[j].className = "";


 }
   //保留自己
   this.className = "current";

 divs[this.index].className = "current";
   
//让bd中的div也对应进行切换
//对应控制:有两组数据中存储了相同个数的元素对象,一组对象的变化,会引起另外一组的变化

//实现方法:找两个数据中的共同点,两个数组中元素对象的下标是一样的

//对应控制中也会涉及到排他的操作






        };
    };






</script>

</body>
</html>