美文网首页
tab栏切换

tab栏切换

作者: Yuann | 来源:发表于2017-09-21 22:25 被阅读0次
    tab栏切换.jpg
    <!DOCTYPE html>
    <html>
    <head lang="en">
        <meta charset="UTF-8">
        <title></title>
        <style>
            * {
                padding: 0;
                margin: 0;
            }
            .box {
                width: 500px;
                height: 400px;
                border: 1px solid #ccc;
                margin: 100px auto;
                overflow: hidden;
            }
            ul {
                width: 600px;
                height: 40px;
                margin-left: -1px;
                list-style: none;
            }
            li {
                float: left;
                width: 101px;
                height: 40px;
                text-align: center;
                font: 600 18px/40px "simsun";
                background-color: pink;
                cursor: pointer;
            }
            span {
                display: none;
                width: 500px;
                height: 360px;
                background-color: yellow;
                text-align: center;
                font: 700 150px/360px "simsun";
            }
            .show {
                display: block;
            }
            .current {
                background-color: yellow;
            }
        </style>
    
        <script>
            window.onload = function () {
                //需求:鼠标放到上面的li上,li本身变色(添加类),对应的span也显示出来(添加类);
                //思路:1.点亮盒子。   2.利用索引值显示盒子。
                //步骤:
                //1.获取事件源和相关元素
                //2.绑定事件
                //3.书写事件驱动程序(排他思想)
    
    
                //1.获取事件源和相关元素
                var boxArr = document.getElementsByClassName("box");
                //函数调用
                for(var i=0;i<boxArr.length;i++){
                    fn(boxArr[i]);
                }
    
                //函数封装
                function fn(ele){
                    var liArr = ele.getElementsByTagName("li");
                    var spanArr = ele.getElementsByTagName("span");
                    //2.绑定事件(循环绑定)
                    for(var i=0;i<liArr.length;i++){
                        //绑定索引值(自定义属性)
                        liArr[i].setAttribute("index",i);
                        liArr[i].onmouseover = function () {
                            //3.书写事件驱动程序(排他思想)
                            //1.点亮盒子。   2.利用索引值显示盒子。(排他思想)
                            for(var j=0;j<liArr.length;j++){
                                liArr[j].removeAttribute("class");
                                spanArr[j].removeAttribute("class");
                            }
                            this.setAttribute("class","current");
                            spanArr[this.getAttribute("index")].setAttribute("class","show");
                        }
                    }
                }
            }
    
    
    //方法二:
    window.onload = function () {
                //需求:鼠标放到上面的li上,li本身变色(添加类),对应的span也显示出来(添加类);
                //思路:1.点亮盒子。   2.利用索引值显示盒子。
                //步骤:
                //1.获取事件源和相关元素
                //2.绑定事件
                //3.书写事件驱动程序(排他思想)
    
    
                //1.获取事件源和相关元素
                var liArr = document.getElementsByTagName("li");
                var spanArr = document.getElementsByTagName("span");
                //2.绑定事件(循环绑定)
                for(var i=0;i<liArr.length;i++){
                    //绑定索引值
                    liArr[i].index = i;
                    liArr[i].onmouseover = function () {
                        //3.书写事件驱动程序(排他思想)
                        //1.点亮盒子。   2.利用索引值显示盒子。(排他思想)
                        for(var j=0;j<liArr.length;j++){
                            liArr[j].className = "";
                            spanArr[j].className = "";
                        }
                        this.className = "current";
                        spanArr[this.index].className = "show";
                    }
                }
            }
    
    //方法三:
     window.onload = function () {
                var boxArr = document.getElementsByClassName("box");
                for(var i=0;i<boxArr.length;i++){
                    fn(boxArr[i]);
                }
                function fn(ele){
                    var liArr = ele.getElementsByTagName("li");
                    var spanArr = ele.getElementsByTagName("span");
                    for(var i=0;i<liArr.length;i++){
                        liArr[i].index = i;
                        liArr[i].onmouseover = function () {
                            for(var j=0;j<liArr.length;j++){
                                liArr[j].className = "";
                                spanArr[j].className = "";
                            }
                            this.className = "current";
                            spanArr[this.index].className = "show";
                        }
                    }
                }
            }
        </script>
    </head>
    <body>
    
        <div class="box">
            <ul>
                <li class="current">鞋子</li>
                <li>袜子</li>
                <li>帽子</li>
                <li>裤子</li>
                <li>裙子</li>
            </ul>
            <span class="show">鞋子</span>
            <span>袜子</span>
            <span>帽子</span>
            <span>裤子</span>
            <span>裙子</span>
        </div>
    
    
    
        <div class="box">
            <ul>
                <li class="current">鞋子</li>
                <li>袜子</li>
                <li>帽子</li>
                <li>裤子</li>
                <li>裙子</li>
            </ul>
            <span class="show">鞋子</span>
            <span>袜子</span>
            <span>帽子</span>
            <span>裤子</span>
            <span>裙子</span>
        </div>
    
    
    
        <div class="box">
            <ul>
                <li class="current">鞋子</li>
                <li>袜子</li>
                <li>帽子</li>
                <li>裤子</li>
                <li>裙子</li>
            </ul>
            <span class="show">鞋子</span>
            <span>袜子</span>
            <span>帽子</span>
            <span>裤子</span>
            <span>裙子</span>
        </div>
    
    </body>
    </html>
    

    相关文章

      网友评论

          本文标题:tab栏切换

          本文链接:https://www.haomeiwen.com/subject/eeztextx.html