zoukankan      html  css  js  c++  java
  • jQuery相关方法2

    一、元素样式设置的方式(css,json键值对,链式编程)

        <script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"></script>
        <script>
            $(function(){
                $("#btn").click(function(){
                //第一种----普通的css设置
                    //$("#dv").css("width","100px");
                    //$("#dv").css("height","100px");
                    //$("#dv").css("backgroundColor","red");
                //第二种-----json键值对格式
                    //$("#dv").css({"width":"100px","height":"100px","backgroundColor":"red"});
                //第三种-----链式编程
                    $("#dv").css("width","100px").css("height","100px").css("backgroundColor","red");
                });
            });
        </script>
        <input type="button" value="设置" id="btn">
        <div id="dv"></div>

    二、链式编程(概念,前提,经验)

    • 概念:对象不停的调用方法----对象.方法().方法().方法().....
    • 前提:调用方法,如果返回值还是这个方法,就可以继续的调用方法
    • 经验:在jQuery中,一般情况下,对象调用的方法,如果是设置的意思,返回的几乎都还是这个对象,可以使用链式编程
        <script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"></script>
        <script>
            $(function () {
                $("#btn").click(function(){
                    console.log($(this).val());//----这个是获取值,返回的已经不是原来的对象,不可用链式编程
                    console.log($(this).val("嘿嘿"));//-----这是设置值,返回的还是原来的对象,可以链式编程
                    $(this).val("嘿嘿").css("background","red");
                });
            });
        </script>
        <input type="button" value="哈哈" id="btn">

    三、元素添加样式(addClass)

            .cls{
                width: 200px;
                height: 200px;
                background: red;
            }
            .cls2{
                border: 10px solid #000;
            }
        <script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"></script>
        <script>
            $(function(){
                $("#btn").click(function(){
                //添加一种样式
                    //$("#dv").addClass("cls");
                //添加两种样式版本1
                    //$("#dv").addClass("cls").addClass("cls2");
                //添加两种样式版本2
                    $("#dv").addClass("cls cls2");
                });
            });
            //注意:$("#dv").css("class","cls")---不能添加样式
        </script>
        <input type="button" value="添加" id="btn">
        <div id="dv">一个div</div>

    四、元素移除样式

            .cls{
                width: 200px;
                height: 200px;
                background: red;
            }
            .cls2{
                border: 10px solid #000;
            }
        <script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"></script>
        <script>
            $(function(){
                $("#btn").click(function(){
                //移除一种样式
                    //$("#dv").removeClass("cls");
                //移除两种样式版本1
                    //$("#dv").removeClass("cls").removeClass("cls2");
                //移除两种样式版本2
                    $("#dv").removeClass("cls cls2");
                });
            });
            //注意:$("#dv").css("class","")---不能移除样式
        </script>
        <input type="button" value="移除" id="btn">
        <div id="dv" class="cls cls2">一个div</div>

    五、案例:网页开关灯

            .cls{
                background: #000;
            }
        <script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"></script>
        <script>
            //版本1----hasClass,removeClass,addClass
    
            $(function(){
                $("#btn1").click(function(){
                   if( $("body").hasClass("cls")){
                    $("body").removeClass("cls");
                   }else{
                    $("body").addClass("cls");
                   }
                });
            });
            //版本2----toggleClass切换类样式
            $(function(){
                $("#btn2").click(function(){
                    $("body").toggleClass("cls");
                });
            });
        </script>
        <input type="button" value="版本1开关灯" id="btn1">
        <input type="button" value="版本2开关灯" id="btn2">

    六、获取兄弟元素的方法

        <script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"></script>
        <script>
            $(function(){
                //点击第五个li
                $("#five").click(function(){
                //当前li的所有后面的兄弟元素------nextAll()
                    $(this).nextAll("li").css("background","red");
                //当前li的下一个的兄弟元素------next()
                    $(this).next("li").css("background","yellow");
                //当前li的所有前面的兄弟元素------prevAll()
                    $(this).prevAll("li").css("background","blue");
                //当前li的上一个的兄弟元素------prev()
                    $(this).prev("li").css("background","orange");
                //当前li的所有兄弟元素-------siblings()
                    //$(this).siblings("li").css("background","purple");
                });
            });
        </script>
        <ul>
            <li>第1个li</li>
            <li>第2个li</li>
            <li>第3个li</li>
            <li>第4个li</li>
            <li id="five">第5个li</li>
            <li>第6个li</li>
            <li>第7个li</li>
            <li>第8个li</li>
            <li>第9个li</li>
            <li>第10个li</li>
        </ul>

    七、案例:操作当前元素的兄弟元素样式

        <script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"></script>
        <script>
            //知识点:
            //1.链式编程----出现断链使用end()方法,修复断链,恢复到断链之前的状态,这种情况不推荐使用链式编程
            //2.parent()方法可以找到当前元素的父级元素
            //3.find()方法可以找到某个元素
            $(function(){
                $("ul>li").mouseenter(function(){//鼠标进入事件
                    $(this).css("backgroundColor","red").siblings("li").css("backgroundColor","");
                }).mouseleave(function(){//鼠标离开事件
                    $(this).parent().find("li").css("backgroundColor","")
                }).click(function(){//鼠标点击事件
                    $(this).prevAll("li").css("backgroundColor","blue").end().nextAll("li").css("backgroundColor","yellow");
                });
            });
        </script>
        <ul>
            <li>第1个div</li>
            <li>第2个div</li>
            <li>第3个div</li>
            <li>第4个div</li>
            <li id="five">第5个div</li>
            <li>第6个div</li>
            <li>第7个div</li>
            <li>第8个div</li>
            <li>第9个div</li>
            <li>第10个div</li>
        </ul>

    八、案例:tab切换效果

            *{
                margin: 0;
                padding: 0;
            }
            .wrapper{
                position: relative;
                width: 300px;
                height: 300px;
                margin: 100px auto;
            }
            .tab{
                position: absolute;
                left: 0;
                top: 0;
            }
            .products{
                position: absolute;
                left: 0;
                top: 21px;
            }
            .tab li{
                list-style: none;
                float: left;
                margin: 0 10px;
            }
            .products div{
                width: 300px;
                height: 300px;
                border: 1px solid #000;
                display: none;
            }
            .active{
                background: red;
            }
            .products .selected{
                display: block;
            }
        <script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"></script>
        <script>
            $(function(){
                //找到li,注册鼠标进入事件
                $(".tab>li").mouseenter(function(){
                    //当前li添加active样式,而它的兄弟元素则删除
                    $(this).addClass("active").siblings("li").removeClass("active");
                    //记录当前元素的索引值
                    var index=$(this).index();
                    //li对应的div根据索引值变化,添加selected样式,它的兄弟元素删除这个样式
                    $(".products>div:eq("+index+")").addClass("selected").siblings("div").removeClass("selected");
                });
            });
        </script>
        <div class="wrapper">
            <ul class="tab">
                <li class="tab-item active">鸿星尔克</li>
                <li class="tab-item">阿迪达斯</li>
                <li class="tab-item">耐克</li>
                <li class="tab-item">特步</li>
            </ul>
            <div class="products">
                <div class="main selected">商品1</div>
                <div class="main">商品2</div>
                <div class="main">商品3</div>
                <div class="main">商品4</div>
            </div>
        </div>   

  • 相关阅读:
    Solr的核心操作案例
    分布式锁
    AngularJS——AngularJS实现地址栏取值
    【转】保证消息队列的高可用性
    【转】Spring线程及线程池的使用
    微信支付实现
    分布式id的生成方式——雪花算法
    重载new和delete
    C++工程实践
    语言基础(27):异常处理
  • 原文地址:https://www.cnblogs.com/EricZLin/p/9108562.html
Copyright © 2011-2022 走看看