• 初学JS之实现选项卡切换


    实现思路:

    1、首先获取id元素。
    2、for循环历遍按钮元素添加onclick事件。
    3、排他思想,点击按钮时设置所有选项卡按钮样式为空,利用this关键字指定当前选项卡获得高亮样式。
    4、下面的多个div内容块以此类推。

    源代码:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>简单的选项卡切换(仿Hao123导航)</title>
    </head>
    <style>
        * {
            margin: 0;
            padding: 0;
        }
        .box {
             278px;
            margin: 0 auto;
            margin-top: 100px;
            background-color: #F7F7F8;
            overflow: hidden;
        }
        .btn button {
            outline:none;
            color: #616161;
            font:14px/100% arial,"Hiragino Sans GB","Hiragino Sans GB W3",5b8b4f53;
            border: none;
            height: 34px;
             51px;
            background-color: #F7F7F8;
            float: left;
            cursor: pointer;
        }
        .box .btn i {
            height: 16px;
            border-left: 1px solid #EAEAEA;
            margin-top: 9px;
            float: left;
            _font-size: 0px;
        }
        .box .btn button:hover {
            color: #0AA770;
        }
        .box .btn s {
            cursor: pointer;
            text-decoration: none;
            font:14px/34px arial,"Hiragino Sans GB","Hiragino Sans GB W3",5b8b4f53;
        }
        #box1 #btns .clickbtn {
            border-top: 1px solid #0AA770;
            color: #0AA770;
        }
        .bottom {
            display: none;
            position: absolute;
             278px;
            height: 110px;
            color: #fff;
            text-align: center;
            font:14px/100% arial,"Hiragino Sans GB","Hiragino Sans GB W3",5b8b4f53;
        }
        .bottom a {
            color: #fff;
            position: relative;
            top: -20px;
            left: 0px;
            text-decoration: none;
        }
        .bottom a:hover {
            text-decoration: underline;
        }
    </style>
    <script>
        window.onload = function(){
            var btns = document.getElementById("btns").getElementsByTagName("button");
            var divs = document.getElementById("bottomdivs").getElementsByTagName("div");
            btns[0].className = "clickbtn";
                for(var i = 0;i<btns.length;i++){
                    btns[i].index = i;
                    btns[i].onclick = function(){
                        //alert(this.index);
                        for(var j = 0;j<btns.length;j++){
                            btns[j].className = "";
                        }
                        this.className = "clickbtn";
                        for(var b = 0;b<btns.length;b++){
                            divs[b].style.display = "none";
                        }
                        divs[this.index].style.display = "block";
    
                    }
            }
        }
    </script>
    <body>
    <div class="box" id="box1">
        <div class="btn" id="btns">
            <button>推介</button>
            <i></i>
            <button>社会</button>
            <i></i>
            <button>娱乐</button>
            <i></i>
            <button>军事</button>
            <i></i>
            <button>体育</button>
            <s>+</s>
        </div>
        <div id="bottomdivs">
            <div class="bottom" style="display: block">
                <img src="images/01.jpg" alt="">
                <h4><a href="#">小伙直播时遭遇“闹鬼”事件 全过程被拍下</a></h4>
            </div>
            <div class="bottom">
                <img src="images/02.jpg" alt="">
                <h4><a href="#">男子穿新郎装背充气娃娃游街</a></h4>
            </div>
            <div class="bottom">
                <img src="images/03.jpg" alt="">
                <h4><a href="#">她满足所有人对才女的幻想</a></h4>
            </div>
            <div class="bottom">
                <img src="images/04.jpg" alt="">
                <h4><a href="#">王毅回应中美是否会在南海发生冲突</a></h4>
            </div>
            <div class="bottom">
                <img src="images/05.jpg" alt="">
                <h4><a href="#">刘翔与娇妻秀恩爱 豪车曝光车牌太抢眼</a></h4>
            </div>
        </div>
    </div>
    </body>
    </html>
    
  • 相关阅读:
    bind函数(c++11)
    谓词
    lambda表达式(c++11)
    重载运算符
    sizeof新用法(c++11)
    引用限定符(c++11)
    this指针和const成员函数
    JavaScript for循环元素取下标问题
    Hbuider sass配置 webstorm scss配置
    检测对象是否拥有某一属性
  • 原文地址:https://www.cnblogs.com/lland/p/6378935.html
Copyright © 2020-2023  润新知