1. 程式人生 > >個人js學習例項-點選按鈕實現按鈕背景色變化以及相對應的div變化

個人js學習例項-點選按鈕實現按鈕背景色變化以及相對應的div變化

效果:

程式碼:

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <style>
        .box {
            width: 400px;
            margin:100px auto;
            border:1px solid #ccc;
            text-align: center;

        }
        .top{
            margin: 10px 0;
        }
        .bottom div{
            width:100%;
            height: 300px;
            padding-top: 30px;
            background-color: red;
            font-size: 20px;
            font-weight: 600;
            color: #ffffff;
            display: none;
        }
        .red {
            background-color: red;
            color: #ffffff;
        }

    </style>
    <script>
        window.onload = function(){
//            獲取6個按鈕賦給陣列btns
            var btns = document.getElementsByTagName("button");
            //            獲取id為divs中6個div賦給陣列divs
            var divs = document.getElementById("divs").getElementsByTagName("div");
//            for迴圈遍歷btns
            for(var i=0;i<btns.length;i++)
            {
                //得到當前btn在陣列的的索引號
                btns[i].index = i;  // 難點
                btns[i].onclick = function(){
                    //讓所有的 btn 類名清空
                    //alert(this.index);
                    for(var j=0;j<btns.length;j++)
                    {
                        btns[j].className = "";
                    }
                    // 當前的那個按鈕 的新增 類名
                    this.className = "red";
                    //先隱藏所有的 div盒子
                    for(var i=0;i<divs.length;i++)
                    {
                        divs[i].style.display = "none";
                    }
                    // 留下與按鈕相對應的div,既當前按鈕序號有關
                    divs[this.index].style.display ="block";
                }
            }
        }
    </script>
</head>
<body>
<div class="box">
    <div class="top">
        <button>第一個</button>
        <button>第二個</button>
        <button>第三個</button>
        <button>第四個</button>
        <button>第五個</button>
    </div>
    <div class="bottom" id="divs">
        <div style="display: block;">盒子1</div>
        <div>盒子2</div>
        <div>盒子3</div>
        <div>盒子4</div>
        <div>盒子5</div>
    </div>
</div>
</body>
</html>