• 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>
     
  • 相关阅读:
    Flume入门与进阶
    git如何忽略已经加入版本控制的文件
    Redis常用命令
    如何在宝塔面板上添加创建一个定时任务
    PHP代码篇(九)PHP接口开发如何使用JWT进行验证身份
    七. Go并发编程--sync.Once
    六. Go并发编程--WaitGroup
    5. Go 并发编程--sync/atomic
    4. Go并发编程--Mutex/RWMutex
    docker内服务访问宿主机服务
  • 原文地址:https://www.cnblogs.com/agosto/p/5027792.html
Copyright © 2020-2023  润新知