• jquery


    jqery选择器的区别

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    
    </head>
    <body>
    <div id="box1">123</div>
    <div id="box2">456</div>
    </body>
    <script src="../jquery.js"></script>
    <script>
    
        var obox1 = document.getElementById("box1");
        console.log(obox1);//元素
        obox1.style.background = "red"; //写样式
        var obox2 = $("#box2");
        console.log(obox2);//伪数组
        obox2.css("background","blue");//写样式
        // jq的DOM对象和原生的DOM对象的转换:
        // jq转原生:
        //     解析数组
        //     通过get方法
        obox2[0].style.background = "blue";
        obox2.get(0).style.background = "blue";
    
        // 原生转jq:
        //     使用jq的函数包裹原生DOM对象
        $(obox1).css("background","yellow")
    
    </script>
    </html>

    jquery选择器

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <script src="../jquery.js"></script>
    </head>
    <body>
    <h1>一级标题1</h1>
    <h1 style="display: none">一级标题2</h1>
    <h1>一级标题3</h1>
    <ul class="list">
        <li>html</li>
        <li class="red">javascript</li>
        <li>php</li>
        <li>css</li>
        <li class="red">mysql</li>
        <li>python</li>
    </ul>
    <ul class="list">
        <li>link1</li>
        <li></li>
        <li>link3</li>
        <li></li>
        <li>link5</li>
        <li>link6</li>
    </ul>
    <div class="box">1</div>
    <div class="box">2</div>
    <div class="box">3</div>
    <div id="cont">4</div>
    <div id="cont">5</div>
    <div id="cont">6</div>
    <div class="msg">
        <div class="xbox">
            <h2>二级标题2-1</h2>
            <h2>二级标题2-2</h2>
        </div>
        <h2>二级标题1-1</h2>
        <h2>二级标题1-2</h2>
    </div>
    <span>7</span>
    <span>8</span>
    <span>9</span>
    <input type="text" name="user">
    <input type="text">
    <input type="password" name="user">
    </body>
    <script>
        // ID失明特性,,有多个同名id,默认直选第一个同名ID;
         $("#cont").css("background","red");
    
         //其他选择器与css中用法大致相同,记住重点的用法。考略性能较高的方法;

          id为cus的父节点中的第一个div元素

         $("#cus").parents("div:first").css({"color":"red","border":"2px solid red"});
         $(".box").css("background","red");
    
         $("span").css("background","red")
    
         $(".msg h2").css("background","red");
    
         $(".msg").find("h2").css("background","red")//后代
    
         $(".msg>h2").css("background","red")
         $(".msg").children("h2").css("background","red")//儿子
    
         $(".msg+span").css("background","red")
         $(".msg").next("span").css("background","red")//兄弟
    
         $(".msg~span").css("background","red")
         $(".msg").nextAll("span").css("background","red")//下面所有的兄弟
    
         $("input[type=text][name]").css("background","red")//类型选择器;
    </script>
    </html>

    jquery判断选择器和操作class

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            .box{100px;height:100px;}
            .red{background: red}
            .yellow{background: yellow}
            .border{border: solid 4px black}
        </style>
        <script src="../jquery.js"></script>
    </head>
    <body>
        <input type="button" value="点我试试">
        <div class="box" id="red"></div>
    </body>
    <script>
    //     console.log($(".box").is(".red"))//false
    //     console.log($(".box").is("#red"))//true
    //     console.log($(".box").hasClass("yellow"))//false
    ////      $(".box")[0].className = "red" //box被替换成class了;
    //      $(".box").addClass("red border");//直接在类名box后加了两个类red  和 border
    //      $(".box").removeClass("red");//删除了其中的一个类名red;
    //
        $("input")[0].onclick=function () {
            if($(".box").is(".red")){
                $(".box").removeClass("red")
            }
            else{
                $(".box").addClass("red")
            }
    
        }
    
    
    
    </script>
    </html>

    jquery的内置动画

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            .box{100px;height:100px;background: red;position: absolute;left:0;top:0;}
        </style>
        <script src="../jquery.js"></script>
    </head>
    <body>
        <div class="box"></div>
        <br>
        <br>
        <br>
        <br>
        <br>
    <input type="button" id="btn" value="开始">
    </body>
    <script>
        //先左移500,然后下移300,再宽度增加100
        $("#btn")[0].onclick=function () {
            $(".box").animate({
                left:500
            }).animate({
                top:300,
            }).animate({
                "+=100"
            })
        }
    </script>
    </html>

    jquery的非内置动画

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            .box{200px;height:200px;background: red}
        </style>
        <script src="../jquery.js"></script>
    </head>
    <body>
    <input type="button" value="隐藏" id="btn1">
    <input type="button" value="显示" id="btn2">
    <input type="button" value="隐藏/显示" id="btn3">
    <input type="button" value="上拉" id="btn4">
    <input type="button" value="下拉" id="btn5">
    <input type="button" value="上拉/下拉" id="btn6">
    <input type="button" value="淡出" id="btn7">    //fadeIn()
    <input type="button" value="淡入" id="btn8">    //fadeOut()
    <input type="button" value="淡出/淡入" id="btn9">
    <input type="button" value="半透明" id="btn10">
    <div class="box"></div>
    </body>
    <script>
        //点击第一个按钮,让盒子先隐藏再显示最后颜色变黄
        $("#btn1")[0].onclick=function () {
            $(".box").hide(2000).show(2000,function () {
                $(".box").css("background","yellow")
            })//在show后面加一个回调函数,才可以在显示完之后变成黄色,不会发生异步;
    //        $(".box").hide(2000).show(2000).css("background","yellow");//发生了异步,会在按钮的瞬间变成黄色;
        }
    
        //显示
        $("#btn2")[0].onclick=function () {
            $(".box").show(2000)
        }
        //显示/隐藏
        $("#btn3")[0].onclick=function () {
            $(".box").toggle(2000)
        }
        //上拉
        $("#btn4")[0].onclick = function(){
            $(".box").slideUp(1000)
        }
        $("#btn5")[0].onclick = function(){
            $(".box").slideDown(1000)
        }
        $("#btn6")[0].onclick = function(){
            $(".box").slideToggle()
        }

    $("#btn7")[0].onclick = function(){
    $(".box").fadeOut()
    }
    $("#btn8")[0].onclick = function(){
    $(".box").fadeIn()
    }
    $("#btn9")[0].onclick = function(){
    $(".box").fadeToggle()
    }

    $("#btn10")[0].onclick = function(){
    $(".box").fadeTo(1000,0.5)
    }
    </script> </html>

    动画执行顺序

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            .box{100px;height:100px;background: red;position: absolute;left:0;top:0;}
        </style>
        <script src="../jquery.js"></script>
    </head>
    <body>
    <div class="box"></div>
    <br>
    <br>
    <br>
    <br>
    <br>
    <input type="button" id="btn" value="开始">
    </body>
    <script>
        animate支持同步函数。若不支持,则需要使用queue
        box右移持续时间2s,然后下移。
    
        $("#btn")[0].onclick = function() {
            $(".box").animate({
                left: 600
            }, 2000, function () {
                $(".box").animate({
                    top: 500
                })
            })
        }
    
        box右移持续时间2s,然后下移。然后再变色
        $("#btn")[0].onclick = function() {
             $(".box").animate({
                 left:600
             },2000).animate({
                 top:500
             },function(){
                 $(".box").css("background","yellow")
             })
        }
    
    
    box右移持续时间2s,然后下移持续2s。然后再变色,再左移
        $("#btn")[0].onclick = function() {
            $(".box").animate({
                left:600
            },2000).animate({
                top:500
            },2000) .queue(function(next){
                $(".box").css("background","yellow")
                next();
            }).animate({
                left:0
            })
        }
    </script>
    </html>

    jquery动画的延迟和停止

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            .box{100px;height:100px;background: red;position: absolute;left:0;top:0;}
        </style>
        <script src="../jquery.js"></script>
    </head>
    <body>
    <div class="box"></div>
    <br>
    <br>
    <br>
    <br>
    <br>
    <input type="button" id="btn" value="开始">
    <input type="button" id="btn2" value="停止">
    </body>
    <script>
    
    //延迟1s右移,移动时间2s,延迟1s下移,延迟1s左移,延迟1s下移动
    //        $("#btn")[0].onclick = function() {
    //
    //             $(".box").delay(1000).animate({
    //                 left:600
    //             },2000).delay(1000).animate({
    //                 top:500
    //             }).delay(1000).animate({
    //                 left:0
    //             }).delay(1000).animate({
    //                 top:0
    //             })
    //
    //        }
        $("#btn")[0].onclick=function () {
            $(".box").animate({
                left:600
            },2000).animate({
                top:500
            },2000).animate({
                left:0
            },2000).animate({
                top:0
            },2000)
        }
        $("#btn2")[0].onclick = function(){
            $(".box").stop(true,false);
        }
        // stop():两个参数,都是布尔值,默认为false
        // 1.动画队列:false:不操作;true:清空了
        // 2.当前动画:false:立即停止;true:立即到终点
        stop()等价于stop(false,false):停止被选元素当前的动画,但允许完成以后队列的所有动画。



    </script> </html>

     jq的模块:

        // jq的模块
        // 选择器:$.fn
        // 动画:$.fx
    
        // 毫秒数,频率
         $.fx.interval = 100; //控制这个页面的所有动画每隔100ms做一帧动画。
        
        //是否做动画
         $.fx.off=true;//控制这个页面的所有动画都是去动画效果,直接到达终点。

        ps:实际开发中基本不会用到这两个属性
    $("#btn")[0].onclick = function(){ $(".box").animate({ left:600 },2000).animate({ top:500 }) }
  • 相关阅读:
    【Android】11.2 通过重写对应的方法保存和恢复实例的状态
    【Android】11.1 Activity的生命周期和管理
    【Android】11.0 第11章 活动和片段--本章示例主界面
    【Android】10.5 滚动视图(RecyclerView)
    【Android】10.4 卡片视图
    【Android】10.3 网格视图(GridView)
    【Android】10.2 使用Android Support Library增强组件功能
    【Android】10.1 扩展组件库和其他视图--本章示例主界面
    【Android】9.3 自定义列表视图的外观
    【Android】9.2 内置行视图的分类和呈现效果
  • 原文地址:https://www.cnblogs.com/hy96/p/11552057.html
Copyright © 2020-2023  润新知