zoukankan      html  css  js  c++  java
  • JS笔记-选项卡的重用

    以三个选项卡举例:

    html部分

    <style>
    *{padding:0;margin:0;}
    a{text-decoration: none;}
    .clearfix:after{display: block;content:'';clear: both;}
    .clearfix{zoom:1;}
    .fl{float: left;}
    .tab{ width:400px; margin: 10px;}
    .tab div{display:none; height:150px;text-align:center;color:#fff; font-size:50px;}
    .tab .btn{border-top:2px solid #fff;}
    .tab .btn.active { border-top:2px solid orange; }
    .tab .txt.active { display:block; }    
    /*1*/
    .one div {background: purple;}
    /*2*/
    .two{}
    .two div {background: pink;height: 250px;}
    /*3*/
    .three div {background: orange;height: 300px;}
    </style>
    
    
    <!-- 1 -->
        <div class="j-tab tab one fl" data-sEvent="onclick">
            <input type="button" class="active j-btn btn" value="1-1"/>
            <input type="button" class="j-btn btn" value="1-2" />
            <input type="button" class="j-btn btn" value="1-3" />
            <input type="button" class="j-btn btn" value="1-4" />
            <input type="button" class="j-btn btn" value="1-5" />
            <div class="active j-txt txt ">1-1</div>
            <div class="j-txt txt ">1-2</div>
            <div class="j-txt txt ">1-3</div>
            <div class="j-txt txt ">1-4</div>
            <div class="j-txt txt ">1-5</div>
        </div>
        <!-- 2 -->
        <div class="j-tab tab two fl" data-sEvent="onmouseover">
            <a href="javascript:;"class="active j-btn btn">2-1</a>
            <a href="javascript:;"class="j-btn btn">2-2</a>
            <a href="javascript:;"class="j-btn btn">2-3</a>
            <div class="active j-txt txt ">2-1</div>
            <div class="j-txt txt ">2-2</div>
            <div class="j-txt txt ">2-3</div>        
        </div>
        <!-- 3 -->
        <div class="j-tab tab three fl" data-sEvent="onclick">
            <input type="button" class="active j-btn btn" value="3-1" />
            <input type="button" class="j-btn btn" value="3-2" />
            <input type="button" class="j-btn btn" value="3-3" />
            <div class="active j-txt txt ">3-1</div>
            <div class="j-txt txt ">3-2</div>
            <div class="j-txt txt ">3-3</div>
        </div>
     

    JS部分

    <script>
    window.onload=function (){
        tab('j-tab');
        function tab(sName)
        {
            var aParent=document.getElementsByClassName(sName);
            for (var i=0; i<aParent.length; i++)
            {
                var sEvent=aParent[i].getAttribute('data-sEvent');//将事件存在自定义data-sEvent属性中
                _tab(aParent[i],sEvent);
            }
            
            function _tab(oParent,sEvent)
            {
                var aBtn=oParent.getElementsByClassName('j-btn');
                var aTxt=oParent.getElementsByClassName('j-txt');
                for (var i=0; i<aBtn.length; i++)
                {
                    (function (index){
                        aBtn[i][sEvent]=function (){
                            for (var i=0; i<aBtn.length; i++)
                            {
                                aBtn[i].className='j-btn btn';
                                aTxt[i].className='j-txt txt';
                            }
                            
                            this.className='active j-btn btn';
                            aTxt[index].className='active j-txt txt';
                        };
                    })(i);
                }
            }
        }
    };
    </script>
     
  • 相关阅读:
    上一篇、下一篇之实现思路
    sql优化
    简易的文件上传 tp5
    phpqrcode生成二维码
    php 发送邮件(2)qq邮箱开通
    php 发送邮件(1)代码逻辑
    SELECT list is not in GROUP BY clause and contains nonaggregated
    TP5 未定义变量:XXX
    CentOS 7下载
    FFT算法实现——基于GPU的基2快速傅里叶变换
  • 原文地址:https://www.cnblogs.com/agosto/p/5027792.html
Copyright © 2011-2022 走看看