• JS实现选项卡和JQ实现选项卡


    在这里简单的介绍一下在页面布局中很重要的选项卡,在页面中,选项卡也是经常使用到的布局,所以我们需要多加的练习掌握才可以,除了用jQuery熟练实现它的功能,我们更需要知道如何用JavaScript原生实现选项卡的功能。所以我们先看看原生js代码的选项卡:

    <!DOCTYPE html>
    <html lang="en">
    
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>Document</title>
        <style>
            .box {
                 200px;
                margin: 0 auto;
                border: solid 1px black;
            }
    
            .title h2 {
                float: left;
                font-size: 20px;
                border: 1px solid black;
                background-color: #ccc;
                padding: 10px 0;
                 48px
            }
    
            .cont p {
                 200px;
                background: #eee;
                margin: 0;
                display: none;
            }
    
            .cont p:nth-child(1) {
                display: block;
            }
        </style>
    </head>
    
    <body>
        <div class="box">
            <div class="title">
                <h2>111</h2>
                <h2>222</h2>
                <h2>333</h2>
                <h2>444</h2>
            </div>
            <div class="cont">
                <p>第一个新闻内容第一个新闻内容第一个新闻内容第一个新闻内容第一个新闻内容第一个新闻内容第一个新闻内容第一个新闻内容第一个新闻内容</p>
                <p>第二个新闻内容第二个新闻内容第二个新闻内容第二个新闻内容第二个新闻内容第二个新闻内容第二个新闻内容第二个新闻内容第二个新闻内容</p>
                <p>第三个新闻内容第三个新闻内容第三个新闻内容第三个新闻内容第三个新闻内容第三个新闻内容第三个新闻内容第三个新闻内容第三个新闻内容</p>
                <p>第四个新闻内容第四个新闻内容第四个新闻内容第四个新闻内容第四个新闻内容第四个新闻内容第四个新闻内容第四个新闻内容第四个新闻内容</p>
            </div>
        </div>
    </body>
    <script>
        var ah2 = document.querySelectorAll(".title h2")
        var ap = document.querySelectorAll(".cont p")
        // 遍历元素
      //这里我们要通过foe循环去获取li中的索引,然后成功的运用到下面的div中。 for (var i = 0; i < ah2.length; i++) { // 编号 ah2[i].index = i; // 各种事件 ah2[i].onclick = function () { for (var j = 0; j < ap.length; j++) { ap[j].style.display = "none" } // 显示 ap[this.index].style.display = "block"; } } </script> </html>

    看一下jq实现的选项卡的代码:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>Document</title>
        <style>
            *{
                margin: 0;
                padding: 0;
                user-select: none;
            }
            .box{
                 150px;
                border: 2px solid #6e6e6e;
                margin: 20px auto;
                text-align: center;
                overflow: hidden;
            }
            .box ul{
                 150px;
                list-style: none;
                border-bottom: 1px solid #6e6e6e;
            }
            .box li{
                float: left;
                 50px;
                line-height: 40px;
                cursor: pointer;
            }
            .sbox div{
                height: 150px;
                display: none;
            }
            .sbox .active{
                display: block;
            }
        </style>
    </head>
    <body>
        <div class="box">
            <ul>
                <li style = "background: blue">1</li>
                <li style = "background: red">2</li>
                <li style = "background: pink">3</li>
            </ul>
            <div class="sbox">
                <div style = "background: blue" class="active">1111</div>
                <div style = "background: red">22222</div>
                <div style = "background: pink">333333</div>
    
            </div>
        </div>
    </body>
    <script src="https://lib.baomitu.com/jquery/2.2.4/jquery.min.js"></script>
    <script>
        $(".box").children("ul").children("li").click(function(event){
            event.preventDefault()
            $(".sbox").children("div").css("display","none")
            $(".sbox").find("div").eq($(this).index()).css("display","block")
    })
    
    
    </script>
    </html>
    

      

  • 相关阅读:
    IE6,IE7,IE8,Firefox 兼容的css hack以及常见兼容性问题
    BAT及各大互联网公司2014前端笔试面试题:HTML/CSS/JAVASCRIPT
    C语言学习
    HDU 3861 The King’s Problem 最小路径覆盖(强连通分量缩点+二分图最大匹配)
    HDU 2089 不要62【解题报告】
    POJ2762 Going from u to v or from v to u? 强连通分量缩点+拓扑排序
    HDU 1754 线段树入门解题报告
    2019/4/22 kmp模板
    2019/4/22 拓扑排序的高效写法. 模板题HDU1285:确定比赛名次
    HDU 2544最短路 【dijkstra 链式前向星+优先队列优化】
  • 原文地址:https://www.cnblogs.com/xushipobk/p/11748919.html
Copyright © 2020-2023  润新知