• JQuery基础-DAY1


      jQuery介绍

    是一个轻量级的js框架/库,其宗旨是write less do more。

      jQuery对象

    js的对象叫做dom对象

    使用jQuery框架产生的对象是jQuery对象,是对dom对象的包装。jQuery下的对象方法和dom对象方法不能混用,只能各用个的。

    约定:如果获取的是 jQuery 对象, 那么要在变量前面加上$

    //基本语法
    $(selector).action()      //即选择器选择生成对象,对象调用方法

    jQuery中文手册:http://jquery.cuishifeng.cn/

    对象转换

    var $variable = jQuery 对象
    var variable = DOM 对象
    
    $variable[0]    jquery对象按索引取出来的是dom对象,如:     
      $("#msg").html()
      $("#msg")[0].innerHTML

      查找操作对象

     选择器

     查找要操作的标签,生成jquery对象

     基本选择器
    $("*")
    $("#id")
    $(".class")
    $("element")
    $(".class,p,div")
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    
    <p id="p1">PPP</p>
    <div class="c1">DIV</div>
    <div class="c1">DIV</div>
    <div class="c1">DIV</div>
    <span class="d1">SPAN</span>
    <span class="c2">SPAN</span>
    <a href="">AAAA</a>
    
    <script src="jquery-3.2.1.js"></script> //导入jquery文件
    <script>
        //    基本选择器
        $("#p1").css("color","red") //按照id选择
        $(".d1").css({"color":"green","fontSize":"50px"}) //按照class选择
        $("div").css({"color":"yellow","fontSize":"35px"}) //按照标签名div选择
        //$("*").css({"color":"blue","fontSize":"30px"}) //body下的所有标签
        $(".c2,a").css({"color":"gray","fontSize":"30px"}) //多个条件用空格隔开
    
    
    </script>
    </body>
    </html>
    基本选择器示例

    注意,获取的jquery对象是一个集合,jquery对象在做方法调用进行属性操作的时候,会把集合里的所有元素都循环一次执行,想想js代码的循环,尼玛...

     层级选择器
    $(".outer div")   //后代
    $(".outer>div")   //子代
    $(".outer+div")   //毗邻
    $(".outer~div")   //普通兄弟

    同css组合选择器

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    
    <p>p6</p>
    <div class="outer">
        <div class="inner">
            <p>p3</p>
            <div>DIV</div>
        </div>
        <p>p2</p>
    </div>
    <p>p1</p>
    <p>p4</p>
    
    <script src="../2017.8.14/jquery-3.2.1.js"></script>
    <script>
    
        $(".outer p").css("color","red")   //后代
        //$(".outer>p").css("color","red")     //子代
        //$(".outer+p").css("color","red")       //毗邻
        //$(".outer~p").css("color","red")       //普通兄弟,向下不向上
    
    </script>
    
    </body>
    </html>
    层级选择器示例
     属性选择器
    $('[id]')    //属性名
    $('[id="div1"]')    //一整条属性
    $('["bob="man"][id]')    //多条属性
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    
    <div bob="man">bob1</div>
    <div bob="man" class="c1">bob2</div>
    <div bob="man2">bob3</div>
    
    <script src="../2017.8.14/jquery-3.2.1.js"></script>
    <script>
        // ==================属性选择器
    
         $("[bob]").css("color","red")
    //     $("[bob='man']").css("color","red")
    //     $("[bob='man'][class]").css("color","red")
    
    </script>
    
    </body>
    </html>
    属性选择器示例
     表单选择器

    只针对input表单,按照类型选择

    $("[type='text']")
    $(":text")    //简写     
    $("input:checked").hide();    //hide()方法,隐藏元素
    //以上选择器只适用于input标签,input:checked只能用于单选框和复选框
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    
    <input type="text">
    <input type="text">
    <input type="text" >
    <input type="checkbox"  checked="checked">
    
    <script src="../2017.8.14/jquery-3.2.1.js"></script>
    <script>
        //  针对input表单
        $("[type='text']").css("border","1px solid red");
        $("input:checked").hide();
        //$(":text").css("border","1px solid green");
    
    </script>
    
    </body>
    </html>
    表单选择器示例

     表单属性选择器

    :enabled
    :disabled
    :checked
    :selected
    body>
    
    <form>
        <input type="checkbox" value="123" checked>
        <input type="checkbox" value="456" checked>
    
    
      <select>
          <option value="1">Flowers</option>
          <option value="2" selected="selected">Gardens</option>
          <option value="3" selected="selected">Trees</option>
          <option value="3" selected="selected">Trees</option>
      </select>
    </form>
    
    
    <script src="jquery.min.js"></script>
    <script>
        // console.log($("input:checked").length);     // 2
    
        // console.log($("option:selected").length);   // 只能默认选中一个,所以只能lenth:1
    
        $("input:checked").each(function(){
    
            console.log($(this).val())
        })
    
    </script>
    
    
    </body>
    表单属性选择器示例

     筛选器

     基本筛选器
    $("li:first")      //按索引取第一个
    $("li:eq(2)")    //按索引取第三个
    $("li:even")     //取偶数
    $("li:odd")     //取偶数
    $("li:gt(1)")    //大于索引1,也有lt小于
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    
    <ul class="box">
        <li class="item">111</li>
        <li class="item">222</li>
        <li class="item">333</li>
        <li class="item">444</li>
        <li class="item">555</li>
        <li class="item">666</li>
    </ul>
    
    <script src="../2017.8.14/jquery-3.2.1.js"></script>
    <script>
    
    //    $("li:first").css("color","red");
    //    $("li:odd").css("color","red");
    //    $("li:even").css("color","red");
    //    $("li:eq(3)").css("color","red");
    //    $("li:gt(1)").css("color","red");
        $("li:gt(1):lt(3)").css("color","red"); //链式语法,前面的大于1的结果然后在结果上再小于3
    
    </script>
    
    </body>
    </html>
    基本删选器示例
     过滤筛选器

    推荐的筛选器写法,可用于传变量

    $("li").eq(2)  
    $("li").first()  
    $("ul li").hasClass("test")  //判断是否存在class为test的元素
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    
    <ul class="box">
        <li class="item">111</li>
        <li class="item">222</li>
        <li class="item">333</li>
        <li class="item">444</li>
        <li class="item">555</li>
        <li class="item">666</li>
    </ul>
    
    <script src="../2017.8.14/jquery-3.2.1.js"></script>
    <script>
        var $x=3
        $("ul li").eq($x).css("color","red");
        console.log($("ul li").hasClass('item'));
    </script>
    </body>
    </html>
    过滤删选器示例
     查找筛选器
    //查找子标签:
    $("div").children(".test")
    $("div").find(".test")      
                                   
    //向下查找兄弟标签:    
    $(".test").next()               
    $(".test").nextAll()    
    $(".test").nextUntil()
                               
    //向上查找兄弟标签:    
    $("div").prev()                  
    $("div").prevAll()       
    $("div").prevUntil()   
    
    //查找所有兄弟标签:    
    $("div").siblings()  
                  
    //查找父标签:         
    $(".test").parent()              
    $(".test").parents()     
    $(".test").parentUntil() 
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    
    <div class="c1">
        <div class="c3">
            DIV
            <div class="c4">
                <p class="p1">P1</p>
            </div>
        </div>
        <p>P2</p>
    </div>
    
    <div class="c1">
        <p class="item" id="d1">p3</p>
        <p class="item">p4</p>
        <p class="item">p5</p>
        <p class="item" id="d4">p6</p>
        <p class="item">p7</p>
    </div>
    
    <div id="c1" egon="123"></div>
    
    
    
    <script src="../2017.8.14/jquery-3.2.1.js"></script>
    <script>
        // jquery支持链式操作:前一段的结果给后一段执行
    
        //查找子标签
        //$("div").children(".item").css("color","red") //所有后代
        //$("div").find(".p1  ").css("color","red") //所有子代
    
        //==========================================找兄弟标签
        //next
        //$("#d1").next().css("color","red").next().css("color","green");
        //$("#d1").nextAll().css("color","red");
        //$("#d1").nextUntil("#d4").css("color","red");   //结果为p4、p5
    
        //prev同next,只是方向为向上
    
    
        //siblings
        //$("#d4").siblings().css("color","red");
    
    
        //===============================================找父标签
        //console.log($(".p1").parent().parent().attr("class"))
        //console.log($(".p1").parents().attr("class"))
        //$(".p1").parents().css("color","red")
        //$(".p1").parentsUntil(".c1").css("border","1px solid red")
        
    </script>
    
    </body>
    </html>
    查找筛选器示例

      操作元素(属性、css、文档处理)

     事件

     页面载入

    语法

    ready(fn)  // 当DOM载入就绪可以查询及操纵时绑定一个要执行的函数。
    $(document).ready(function(){}) -----------> $(function(){})
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <script src="../2017.8.14/jquery-3.2.1.js"></script>
    </head>
    <body>
    <script>
        $(document).ready(function(){
            alert(123)
        })
    //    $(function(){
    //        alert(123)
    //    })
        
    </script>
    
    </body>
    </html>
    页面载入示例
     事件绑定

    语法

    jquery_obj集合.事件(function(){})
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    
    <ul id="box">
        <li class="item">111</li>
        <li class="item">222</li>
        <li class="item">333</li>
        <li class="item">444</li>
        <li class="item">555</li>
    </ul>
    
    <script src="../2017.8.14/jquery-3.2.1.js"></script>
    <script>
    
         $(".item").click(function () {
             alert($(this).index())
         });
        
    </script>
    </body>
    </html>
    事件绑定示例

    补充

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    
    <ul id="box">
        <li class="item">111</li>
        <li class="item">222</li>
        <li class="item">333</li>
        <li class="item">444</li>
        <li class="item">555</li>
    </ul>
    
    <script src="../2017.8.14/jquery-3.2.1.js"></script>
    <script>
    
    //  ====================bind
    
        $(".item").bind("click",function () {
            alert(123)
        });
    
    </script>
    </body>
    </html>
    绑定方法补充,现在jq版本等于已经被遗弃了
     事件委派

    在原有标签基础上,后边添加的标签,继承原有标签的事件

    语法

    jquery_obj集合.on(事件,[selector],[data],function)
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    
    <ul id="box">
        <li class="item">111</li>
        <li class="item">222</li>
        <li class="item">333</li>
        <li class="item">444</li>
        <li class="item">555</li>
    </ul>
    
    <button class="add">ADD</button>
    
    <script src="../2017.8.14/jquery-3.2.1.js"></script>
    <script>
         $(".item").click(function () {
             alert($(this).index())
         });
        
        //  on方法
        $("#box").on("click",".item",function () {
        //  alert($(this).html());
            alert($(this).index());
        });
    
        //添加一个标签,点击该标签显示索引
         $(".add").click(function () {
             $("#box").append("<div class='item'>666</div>")
         });
    
    </script>
    </body>
    </html>
    事件委派示例
     事件委派清除

    清除标签绑定的事件

    语法

    jquery_obj集合.off(事件)
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    
    <ul id="box">
        <li class="item">111</li>
        <li class="item">222</li>
        <li class="item">333</li>
        <li class="item">444</li>
        <li class="item">555</li>
    </ul>
    
    <button class="add">ADD</button>
    <button class="releave">off</button>
    
    <script src="../2017.8.14/jquery-3.2.1.js"></script>
    <script>
    
        $("#box").on("click",".item",function () {
            alert($(this).index());
        });
    
         $(".add").click(function () {
             $("#box").append("<div class='item'>666</div>")
         });
    
        $(".releave").click(function () {
            //绑定给那个对象就解除哪个对象的事件委派
           $("#box").off("click")
        });
    
    </script>
    </body>
    </html>
    事件委派清除
     事件切换

    hover事件

    一个模仿悬停事件(鼠标移动到一个对象上面及移出这个对象)的方法。这是一个自定义的方法,它为频繁使用的任务提供了一种“保持在其中”的状态。

    over:鼠标移到元素上要触发的函数

    out:鼠标移出元素要触发的函数

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            *{
                margin: 0;
                padding: 0;
            }
            .test{
                 200px;
                height: 200px;
                background-color: wheat;
    
            }
        </style>
    </head>
    <body>
    
    
    <div class="test"></div>
    
    
    <script src="../2017.8.14/jquery-3.2.1.js"></script>
    <script>
        function enter(){
            alert("enter")
        }
        function out(){
            alert("out")
        }
        $(".test").hover(enter,out)
    
    
    //    $(".test").mouseenter(function(){
    //        alert("enter")
    //    });
    
    //    $(".test").mouseleave(function(){
    //        alert("leave")
    //    });
    
    </script>
    </body>
    
    </html>
    hover示例

     属性操作

     CSS类操作

    语法

    $("").addClass(class|fn)
    $("").removeClass([class|fn])
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>tab</title>
    
        <style>
            *{
                margin: 0;
                padding: 0;
            }
            .tab_outer{
                margin: 20px auto;
                 60%;
            }
            .menu{
                background-color: #cccccc;
                line-height: 40px;
                text-align: center;
            }
            .menu li{
                display: inline-block;
                margin-left: 14px;
                padding:5px 20px;
    
            }
            .menu a{
                border-right: 1px solid red;
                padding: 11px;
            }
            .content{
                background-color: tan;
                border: 1px solid green;
                height: 300px;
    
            }
            .hide{
                display: none;
            }
    
            .current{
                background-color: #2868c8;
                color: white;
                border-top: solid 2px rebeccapurple;
            }
        </style>
    </head>
    <body>
          <div class="tab_outer">
              <ul class="menu">
                  <li relation="c1" class="current">菜单一</li>
                  <li relation="c2" >菜单二</li>
                  <li relation="c3">菜单三</li>
              </ul>
              <div class="content">
                  <div id="c1">内容一</div>
                  <div id="c2" class="hide">内容二</div>
                  <div id="c3" class="hide">内容三</div>
              </div>
    
          </div>
    </body>
    
    <script src="../2017.8.14/jquery-3.2.1.js"></script>
        <script>
              $(".menu li").click(function(){
                   var index=$(this).attr("relation");
                   $("#"+index).removeClass("hide").siblings().addClass("hide");
                   $(this).addClass("current").siblings().removeClass("current");
              });
        </script>
    </html>
    CSS类操作示例-tab
     属性操作

    语法

    $("").attr();
    $("").removeAttr();
    $("").prop();
    $("").removeProp();
    <input id="chk1" type="checkbox" />是否可见
    <input id="chk2" type="checkbox" checked="checked" />是否可见
    
    
    
    <script>
    
    //对于HTML元素本身就带有的固有属性,在处理时,使用prop方法。
    //对于HTML元素我们自己自定义的DOM属性,在处理时,使用attr方法。
    //像checkbox,radio和select这样的元素,选中属性对应“checked”和“selected”,这些也属于固有属性,因此
    //需要使用prop方法去操作才能获得正确的结果。
    
    
    //    $("#chk1").attr("checked")
    //    undefined
    //    $("#chk1").prop("checked")
    //    false
    
    //  ---------手动选中的时候attr()获得到没有意义的undefined-----------
    //    $("#chk1").attr("checked")
    //    undefined
    //    $("#chk1").prop("checked")
    //    true
    
        console.log($("#chk1").prop("checked"));//false
        console.log($("#chk2").prop("checked"));//true
        console.log($("#chk1").attr("checked"));//undefined
        console.log($("#chk2").attr("checked"));//checked
    </script>
    属性操作示例
    HTML/Text/value

    语法

    $("").html([val|fn])
    $("").text([val|fn])
    $("").val([val|fn|arr])
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <script src='../day48/jquery-3.2.1.js'></script>
    </head>
    <body>
    
    <div class="c1">
        <p>PPP</p>
    </div>
    
    <input type="text" value="123">
    
    <div value="123"></div>
    
    <script>
    
        // 取值操作
        // html是标签操作、text是文本操作
        // console.log($(".c1").html());
        // console.log($(".c1").text());
    
        //赋值操作
        // $(".c1").html("<a href=''>click</a>")
        // $(".c1").text("<a href=''>click</a>")
    
    
        // 对value属性取值和赋值操作
        //console.log($(":text").val());    //取值
        //$(":text").val(456);  //赋值
    
        // 注意:value属性必须是固有属性
        console.log($("div").val())   // 取不到value属性的值
        
    </script>
    </body>
    </html>
    HTML/Text/value示例

     each循环

    例如:

    $("p").css("color","red") 

    运行的过程中内部是一个循环,但是如果该循环中的某一个元素需要特殊处理的时候,就不能使用内部的默认循环了 

     方式一
    var arr=[111,222,333];
    var  obj={"name":"egon","age":123};
    $.each(arr,function (i,j) {
          console.log(i);   //索引
          console.log(j);   //
    });
     方式二
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <script src='../2017.8.14/jquery-3.2.1.js'></script>
    </head>
    <body>
    
    <p>111</p>
    <p>222</p>
    <p>333</p>
    <p>444</p>
    
    <script>
        $("p").each(function () {
          console.log($(this).index());    // $(this) ----=>代指当前循环到的标签对象
        })
    
        // 注意:下面的this指代$("p")集合中的一个元素
        // $("p").click(function () {
        //    console.log($(this).index())
        // });
    
    </script>
    </body>
    </html>
     each扩展
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <script src='../2017.8.14/jquery-3.2.1.js'></script>
    </head>
    <body>
    
    <p>111</p>
    <p>222</p>
    <p>333</p>
    <p>444</p>
    
    <script>
      
        // 示例1
        //function f(){
        //    for(var i=0;i<4;i++){
        //        if (i==2){
        //            return
        //        }
        //        console.log(i)
        //    }
        //}
        //f();
    
        //示例2
        //li=[11,22,33,44];
        //$.each(li,function(i,v){
        //
        //    if (v==33){
        //            return false;   //  ===试一试 return false会怎样?
        //        }
        //    console.log(v)
        //});
        // each的参数function内如果出现return  结束当次循环,类似于continue;
        //             如果出现return False,结束的是整个each循环,类似break。
    
    </script>
    </body>
    </html>

     文档节点处理

     创建一个标签对象

    语法

    $("<标签名>")
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <script src='jquery-3.2.1.js'></script>
    </head>
    <body>
    <div class="outer">
    </div>
    <script>
        var $ele=$("<p>");    // <p></p>
        $ele.text("hello world");  // <p>hello world</p>
    </script>
    </body>
    </html>
    创建节点示例
     标签内部插入标签对象

    语法

    $("").append(content|fn)      ----->$("p").append("<b>Hello</b>");
    $("").appendTo(content)       ----->$("p").appendTo("div");
    $("").prepend(content|fn)     ----->$("p").prepend("<b>Hello</b>");
    $("").prependTo(content)      ----->$("p").prependTo("#foo");

    注意:可以使用function添加内容

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <script src='../day47/jquery-3.2.1.js'></script>
    </head>
    <body>
    <div class="outer">
        <p>abc</p>
    </div>
    
    <script>
        //内部插入
        var $ele=$("<p>");    // <p></p>
        $ele.text("hello world");  // <p>hello world</p>
    
        // 追加到最后的位置
        $(".outer").append($ele);
        //     $ele.appendTo(".outer");
    
        // 添加到最上面的位置
        var $ele2=$("<p>")
        $ele2.text("thank you");
        $(".outer").prepend($ele2);
        //    $ele.prependTo(".outer")
    </script>
    </body>
    </html>
    内部插入示例
     标签外部插入标签对象

    语法

    $("").after(content|fn)       ----->$("p").after("<b>Hello</b>");
    $("").before(content|fn)      ----->$("p").before("<b>Hello</b>");
    $("").insertAfter(content)    ----->$("p").insertAfter("#foo");
    $("").insertBefore(content)   ----->$("p").insertBefore("#foo");

    注意:可以使用function添加内容 

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <script src='../day47/jquery-3.2.1.js'></script>
    </head>
    <body>
    
    <div class="outer">
        <p>abc</p>
    </div>
    
    <script>
        //内部插入
        var $ele=$("<p>"); 
        $ele.text("hello world");  
        // 在标签后添加
        $(".outer").after($ele)     //
        //$($ele).insertAfter(".outer")
    
        //在标签前添加
        var $ele2=$("<p>")
        $ele2.text("thank you");
        $(".outer").before($ele2)     
        //$($ele2).insertBefore(".outer")
    
    </script>
    </body>
    </html>
    外部插入示例
     删除节点

    语法

    $("").empty()    //内容删除
    $("").remove([expr]    //整个标签删除
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <script src='../day47/jquery-3.2.1.js'></script>
    </head>
    <body>
    
    <div class="outer">
        <p>abc</p>
    </div>
    
    <script>
    
        // 删除节点,连标签清除
        // $(".outer").remove()
        // 清空节点,内容清除
        $(".outer").empty();
    
    </script>
    </body>
    </html>
    删除节点示例
     替换节点

    语法

    $("").replaceWith(content|fn)
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <script src='../day47/jquery-3.2.1.js'></script>
    </head>
    <body>
    
    <div class="outer">
        <p>abc</p>
    </div>
    
    <script>
    
        // 替换节点
        var $ele=$("<p>"); 
        $ele.text("hello world"); 
        $(".outer p").replaceWith($ele);
    
    </script>
    </body>
    </html>
    替换节点示例
     拷贝节点

    语法

     $("").clone([Even[,deepEven]])
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <script src='../day47/jquery-3.2.1.js'></script>
    </head>
    <body>
    
    <div class="outer">
        <p>abc</p>
    </div>
    
    <script>
    
        // 拷贝节点
        var $outer=$(".outer").clone();
        $(".outer").after($outer)
    
    </script>
    </body>
    </html>
    拷贝节点示例

     动画效果

     显示与隐藏
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <script src='../day47/jquery-3.2.1.js'></script>
    </head>
    <body>
    <p>hello world</p>
    <img src="http://img1.imgtn.bdimg.com/it/u=1020860587,2909379450&fm=26&gp=0.jpg" alt="">
    <hr>
    <button class="hides">hide</button>
    <button class="shows">show</button>
    <button class="toggle">toggle</button>
    
    <script>
        //注意:不加时间试一试
        //点击事件触发隐藏
        $(".hides").click(function () {
            $("img").hide(1000)
        });
        //点击事件触发显示
        $(".shows").click(function () {
            $("img").show(1000)
        });
        //点击事件触发显示和隐藏的切换
        $(".toggle").click(function () {
            $("img").toggle(1000)
        })
    </script>
    </body>
    </html>
    显示与隐藏示例
     滑动
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <script src='jquery-3.2.1.js'></script>
    </head>
    <body>
    
    <p style="background-color: #2459a2;color: white;text-align: center;line-height: 40px">hello world</p>
    
    <img src="http://img1.imgtn.bdimg.com/it/u=1020860587,2909379450&fm=26&gp=0.jpg" alt="">
    <hr>
    <button class="slideUp">slideUp</button>
    <button class="slideDown">slideDown</button>
    <button class="slideToggle">slideToggle</button>
    
    
    <script>
        //注:不加时间试一试
        //向上滑动消失
        $(".slideUp").click(function () {
            $("p").slideUp(1000);
        });
        //向下滑动出现
        $(".slideDown").click(function () {
            $("p").slideDown(1000)
        });
        //向上向下切换
        $(".slideToggle").click(function () {
            $("p").slideToggle(1000)
        })
    
    </script>
    </body>
    </html>
    滑动示例
     淡入淡出
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <script src='jquery-3.2.1.js'></script>
    </head>
    <body>
    <p style="background-color: #2459a2;color: white;text-align: center;line-height: 40px">hello world</p>
    <img src="http://img1.imgtn.bdimg.com/it/u=1020860587,2909379450&fm=26&gp=0.jpg" alt=""><hr>
    <button class="fadeIn">fadeIn</button>
    <button class="fadeOut">fadeOut</button>
    <button class="fadeToggle">fadeToggle</button>
    <button class="fadeTo">fadeTo</button>
    
    <script>
        //淡入
        $(".fadeIn").click(function () {
            $("img").fadeIn(2000);
        });
        //淡出
        $(".fadeOut").click(function () {
            $("img").fadeOut(2000)
        });
        //淡出淡入切换
         $(".fadeToggle").click(function () {
            $("img").fadeToggle(1000)
        })
        //淡出或淡入的程度
        $(".fadeTo").click(function(){
           $("img").fadeTo(1000,0.4);
        })
    </script>
    </body>
    </html>
    淡入和淡出示例
     回调函数
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <script src='../day47/jquery-3.2.1.js'></script>
    
    </head>
    <body>
    <button>hide</button>
    <p>hello world</p>
    
    <script>
        $("button").click(function(){
            $("p").hide(1000,function(){
               alert($(this).html())
            })
        })
    </script>
    </body>
    </html>
    回调函数示例

     CSS操作

     CSS位置操作

    语法

    $("").offset([coordinates])    //元素移动,定位对象是整个页面,
    $("").position()    //元素偏移(定位对象和offset不一样,是通过父亲标签定位)
    $("").scrollTop([val])  //上下滚动条的值
    $("").scrollLeft([val])  //左右滚动条的值

    offset元素移动示例

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            *{
                margin: 0;
            }
            .box1{
                 200px;
                height: 200px;
                background-color: yellowgreen;
            }
            .box2{
                 200px;
                height: 200px;
                background-color: rebeccapurple;
            }
        </style>
        <script src='../day47/jquery-3.2.1.js'></script>
    </head>
    <body>
    <div class="box1"></div>
    <div class="box2"></div>
    <button>change</button>
    
    <script>
        //元素移动的是根据整个页面的距离实现的,通过改变元素的上侧、左侧和整个页面的上侧和左侧的距离改变
        $("button").click(function () {
            //.box1向下移动200px
            $(".box1").offset({left:0,top:200});
            //.box2向下移动400px,向右移动200px
            $(".box2").offset({left:200,top:400});
        })
    </script>
    
    </body>
    </html>
    元素移动示例

    position元素偏移

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    
        <style>
    
            *{
                margin: 0;
            }
            .box1{
                 200px;
                height: 200px;
                background-color: wheat;
            }
            .box2{
                 200px;
                height: 200px;
                background-color: green;
            }
    
            .outer{
                position: relative;
            }
        </style>
        <script src='../day47/jquery-3.2.1.js'></script>
    </head>
    <body>
    
    <div class="box1"></div>
    <div class="outer">
        <div class="box2"></div>
    </div>
    <button>change</button>
    
    <script>
        $("button").click(function () {
            alert("left"+$(".box1").position().left + "top" + $(".box1").position().top)
            alert("left"+$(".box2").position().left + "top" + $(".box2").position().top)
    </script>
    </body>
    </html>
    position示例

    scrollTop滚动条

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            .box{
                 100%;
                height: 2000px;
                background-color: wheat;
            }
    
            #returnTop{
                 70px;
                height: 40px;
                background-color: #2459a2;
                color: white;
                font-weight: 800;
                text-align: center;
                line-height: 40px;
                position: fixed;
                bottom: 20px;
                right: 20px;
                display: none;
            }
        </style>
        <script src='../day47/jquery-3.2.1.js'></script>
    </head>
    <body>
    
    <div class="box"></div>
    <div id="returnTop">TOP</div>
    <script>
        //scroll事件,滚动进度条时候
        $(window).scroll(function () {
            console.log($(window).scrollTop());
            if($(window).scrollTop()>200){
                $("#returnTop").show();
    
            }
            else {
                $("#returnTop").hide();
            }
        });
        //scrollTop括号里加数字,表示将滚动条位置滚至数字像素,不加数字表示取值
        $("#returnTop").click(function () {
            $(window).scrollTop(0)
        })
    </script>
    </body>
    </html>
    scrollTop示例
     尺寸操作

    语法

    $("").height([val|fn])
    $("").width([val|fn])
    $("").innerHeight()
    $("").innerWidth()
    $("").outerHeight([soptions])
    $("").outerWidth([options])
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    
        <style>
            .box{
                 200px;
                height: 200px;
                padding: 50px;
                border: 10px red solid;
                background-color: green;
                margin: 20px;
            }
        </style>
        <script src='../day47/jquery-3.2.1.js'></script>
    </head>
    <body>
    
    
    <div class="box">DIV</div>
    
    
    <script>
         console.log($(".box").height());  //内容区高度200
         console.log($(".box").width());   //内容区宽度200
    
         console.log($(".box").innerHeight());   //内容区+padding区高度300
         console.log($(".box").innerWidth());    //内容区+padding区宽度300
    
         console.log($(".box").outerHeight());   //内容区+padding区+border边框区高度 320
         console.log($(".box").outerWidth());    //内容区+padding区+border边框区宽度 320
    
         console.log($(".box").outerHeight(true));   ///内容区+padding区+border边框区宽度+margin区高度 320
         console.log($(".box").outerWidth(true));    ///内容区+padding区+border边框区宽度+margin区高度 320
    
    </script>
    </body>
    </html>
    尺寸操作示例
  • 相关阅读:
    记一次HTTP劫持故障排查
    前面任意字符+固定字符+任意字符+固定字符匹配
    php-fpm启动,重启,终止操作
    crontab防止脚本周期内未执行完重复执行
    js深拷贝和浅拷贝
    vue 异步刷新页面,
    vue强制刷新组件
    js判断终端以及APP应用判断
    微信返回上一页的按钮会强制性使用页面缓存,不刷新页面
    json键和值转数组
  • 原文地址:https://www.cnblogs.com/zero527/p/7359795.html
Copyright © 2020-2023  润新知