• jQuery , js 写选项卡


    运用jq 写选项卡:

    使用jq时,先引入jQuery

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
            <style>
                *{margin: 0;padding: 0;box-sizing: border-box;-webkit-box-sizing: border-box;}
                .clearfix:after{content: '';clear: both;display: block;}
                .box{ 400px;height: 460px;border: 1px solid #ccc;margin: 100px auto;overflow: hidden;}
                .top{ 400px;height: 60px;list-style: none;}
                .top li{float: left; 100px;line-height: 60px;height: 60px;border: 1px solid #ccc;text-align: center;}
                .top .on{background-color: #00FF00;color:#fff}
                .down{height: 400px;list-style: none;}
                .down li{ 400px;height: 400px;background-color: red;float: left;display: none;}
                .down li:nth-child(2){background-color: yellow;}
                .down li:nth-child(3){background-color: green;}
                .down li:nth-child(4){background-color: black;}
                .down .on{display: block;}
            </style>
        </head>
        <body>
            <div class="box">
                <ul class="top clearfix">
                    <li class="on">1</li>
                    <li>2</li>
                    <li>3</li>
                    <li>4</li>
                </ul>
                <ul class="down clearfix"> 
                    <li class="on"></li>
                    <li></li>
                    <li></li>
                    <li></li>
                </ul>
            </div>
            
            <script src="js/jquery-1.8.3.min.js"></script>
            
            <script type="text/javascript">

           //思路一
    // $(
    '.top li').on('click',function(){ //所有父级以上节点 找到 下面的 top其中的所有 li
    // $(this).parents().find('.top li').removeClass();
    // $(
    this).addClass('on'); //通过当前元素的祖先元素 找到 下面的 down其中的所有 li // $(this).parents().find('.down li').removeClass(); // $(this).parents().find('.down li').eq($(this).index()).addClass('on'); // }) //思路二 $('.top li').on('click',function(){ //同级 移除 class 不包括自己* $(this).siblings().removeClass(); //当前添加 on $(this).addClass('on'); //直接父集的同级元素 下的所有子集 移除class $(this).parent().siblings().children().removeClass(); //直接父集的同级元素 下的角标与 当前角标相同的 添加on $(this).parent().siblings().children().eq($(this).index()).addClass('on');
    //   $(this).addClass('on').siblings().removeClass().parent().siblings().children().eq($(this).index()).addClass('on').siblings().removeClass(); })
    </script> </body> </html>

    js写的:

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
            <style>
                *{margin: 0;padding: 0;box-sizing: border-box;-webkit-box-sizing: border-box;}
                .clearfix:after{content: '';clear: both;display: block;}
                .box{ 400px;height: 460px;border: 1px solid #ccc;margin: 100px auto;overflow: hidden;}
                .top{ 400px;height: 60px;list-style: none;}
                .top li{float: left; 100px;line-height: 60px;height: 60px;border: 1px solid #ccc;text-align: center;}
                .top .on{background-color: #00FF00;color:#fff}
                .down{height: 400px;list-style: none;}
                .down li{ 400px;height: 400px;background-color: red;float: left;display: none;}
                .down li:nth-child(2){background-color: yellow;}
                .down li:nth-child(3){background-color: green;}
                .down li:nth-child(4){background-color: black;}
                .down .on{display: block;}
            </style>
        </head>
        <body>
            <div class="box">
                <ul class="top clearfix">
                    <li class="on">1</li>
                    <li>2</li>
                    <li>3</li>
                    <li>4</li>
                </ul>
                <ul class="down clearfix"> 
                    <li class="on"></li>
                    <li></li>
                    <li></li>
                    <li></li>
                </ul>
            </div>
            
            <script src="js/jquery-1.8.3.min.js"></script>
            
            <script type="text/javascript">
                //面向过程
    //            var topLi = $('.top li');
    //            var downLi = $('.down li');
    //            console.log(topLi,downLi)
    //            for(var i=0;i<topLi.length;i++){
    //                topLi[i].index = i;
    //                topLi[i].onclick = function(){
    //                    console.log(1);
    //                    for(var j=0;j<downLi.length;j++){
    //                        topLi[j].className = '';
    //                        downLi[j].className= '';
    //                        if(this.index == j){
    //                            topLi[this.index].className = 'on';
    //                            downLi[this.index].className = 'on';
    //                        }
    //                    }
    //                };
    //            };    
            //面向对象
            function ClickChange(cl,cc){
                this.topLi = $(cl);
                this.downLi = $(cc);
                var _this = this;
                for(var i=0;i<this.topLi.length;i++){            
                    this.topLi[i].index = i;
                    this.topLi[i].onclick = function(){
                        console.log(_this.downLi);
                        for(var j=0;j<_this.downLi.length;j++){
                            _this.topLi[j].className = '';
                            _this.downLi[j].className = '';
                            if(this.index == j){
                                _this.topLi[this.index].className ='on';
                                _this.downLi[this.index].className ='on';
                            }
                        }
                    }
                }            
            }
            var a = new ClickChange('.top li','.down li');
            </script>
        </body>
    </html>
  • 相关阅读:
    friend ---- public and private
    c++中const使用详解
    In c++ access control works on per-class basis not on per-object basis.
    realloc 用法
    enum don't allocate any memory
    (转)C++ STL中的vector的内存分配与释放
    计算机网络面试总结
    Redis安装与测试
    Hbase的安装与测试
    使用ActiveMQ实现简易聊天功能
  • 原文地址:https://www.cnblogs.com/lk4525/p/6515616.html
Copyright © 2020-2023  润新知