zoukankan      html  css  js  c++  java
  • 前端基础JQuery

    JQuery对象是通过JQquery包装DOM对象后产生的对象。JQuery对象是JQuery独有的。如果一个对象是JQuery对象,那么它就可以使用JQuery中的方法。

    $("#test").html();
        获取ID为test的元素内的html代码
    DOM实现代码:document.getElementById("test").innerHTML;
    虽然JQuery对象是DOM对象包装后产生的,但是JQuery无法使用DOM对象的任何方法,同理DOM对象也不能使用JQuery中的方法
        约定如果获取的是JQuery对象,那么要在变量前加$
    var $variable=JQuery对象
    var variable=DOM对象
    $variable[0]:JQuery对象转为DOM对象
    $("#test")[0].innerHTML;

    选择器

      基本选择器

    $("*") 通配
    $(#id") ID
    $(".class") 类
    $("element") 标签
    $(".class,p,div") 多个元素

      层级选择器

    $(".outer div") .outer所有div后代
    $(".outer>div") .outer所有子代div
    $(".outer+div") .outer毗邻div标签
    $(".outer~div") .outer普通兄弟div标签

      基本选择器

    $("li:first") li中的第一个元素
    $("li:eq(2)") li中索引为2的元素
    $("li:even") li中索引为偶数的元素
    $("li:gt(1)") li中索引大于1的元素
    $("li:lt(3)") li中索引小于2的元素
    $("li:odd") li中索引为奇数的元素

      属性选择器

    $('[id="div1"]') id为div1的元素
    $('[xiaobai="handsome"][id]') xiaobai属性为handsome且有id属性的标签

      表单选择器

    只适用于input标签
    $('[type="text"]')=>$(":text")

    筛选器

      过滤选择器

    $("li").eq(2)
    $("li").first()
    $("ul li").hasClass("test")

      查找筛选器

    查找子标签: $("div").children(".test") 查找div中所有类名为test的子元素
                        $("div").find(".test") 查找div中所有类名为test的后代标签
    向下查找兄弟标签:$(".test").next() 类名为test的下一个兄弟元素
                                $(".test").nextAll() 类名为test以后的所有兄弟元素
                                $(".test").nextUntil() 类名为test以后的某条件之前的元素,不包含末元        
                                素
    向上查找兄弟标签:$(".test").prev() 类名为test的之前的一个兄弟元素
                                $(".test").prevAll()
                                $(".test").prevUntil()
    查找所有兄弟标签:$(".test").siblings()
    查找父标签: $(".test").parent()    
                        $(".test").parents()
                        $(".test").parentUntil()

     Filter

    <div class="grandpa">
        <div class="pa">
            <div class="child not-gay"></div>
            <div class="child2"></div>
            <div class="child3"></div>
        </div>
    </div>
    <script src="jquery-3.2.1.js"></script>
    <script>
        $(".child").filter(".not-gay").css("border","solid 2px yellow");
    </script>

    //==============
    $(".child").filter(".not-gay").css({"border":"solid 2px yellow","margin-left":"5px"}); 添加多种样式

     事件

    页面载入

    ready(fn)
    $(document).ready(function(){})=>$(function(){}) //当DOM载入完成后再进行此代码的执行

    事件绑定

    $(".add").click(function () {
            $(".box").append('<li class="item">666</li>')
        }).  //语法:标签对象.事件(函数)

    事件委派

    <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>
    </ul>
    <button class="add">add</button>
    <button class="off">off</button>
    <script src="jquery-3.2.1.js"></script>
    <script>
        $(".box").on("click",".item",function () {
            alert(123);
        });
        $(".add").click(function () {
            $(".box").append('<li class="item">666</li>')
        }).
        $("off").click(function () {
            $(".box").off("click");
        });
    </script>

    事件切换

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

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

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

    格式:$("").hover(fnover(){},fnout(){})

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            *{
                margin:0;
                padding:0;
            }
            .container{
                border:1px solid red;
                790px;
                height:340px;
                margin:100px auto;
                position:relative;
            }
            ul{
                list-style: none;
            }
            .page{
                position:absolute;
                top:290px;
                left:290px;
            }
            .page li{
                height:20px;
                20px;
                border-radius: 10px;
                display:inline-block;
                background-color: white;
    
            }
            .page .active{
                background-color: red;
            }
            .hide{
                display: none;
            }
            .left,.right{
                background-color: lightgray;
                text-align: center;
                30px;
                height:50px;
                position:absolute;
                opacity: 0.5;
                line-height: 50px;
                display:none;
                font-size:30px;
            }
            .left{
                top:150px;
                left:0;
            }
            .right{
                right:0;
                top:150px;
            }
            .container:hover .btn{
                display:block;
            }
        </style>
    </head>
    <body>
    <div class="container">
        <ul class="good_img">
            <li><img src="mat1.jpg" alt=""></li>
            <li class="hide"><img src="mat2.jpg" alt=""></li>
            <li class="hide"><img src="mat3.jpg" alt=""></li>
            <li class="hide"><img src="mat4.jpg" alt=""></li>
            <li class="hide"><img src="mat5.jpg" alt=""></li>
            <li class="hide"><img src="mat6.jpg" alt=""></li>
            <li class="hide"><img src="mat7.jpg" alt=""></li>
            <li class="hide"><img src="mat8.jpg" alt=""></li>
        </ul>
        <ul class="page">
            <li class="active"></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
        </ul>
        <div class="btn left"> < </div>
        <div class="btn right"> > </div>
    </div>
    <script src="jquery-3.2.1.js"></script>
    <script>
        var i=0;
        $(".page li").mouseover(function () {
            i=$(this).index();
            $(this).addClass("active").siblings().removeClass("active");
            $(".good_img li").eq(i).removeClass("hide").siblings().addClass("hide");
        });
        function loop_img(){
            if (i==7){
                i=0;
            }
            i++;
            $(".good_img li").eq(i).removeClass("hide").siblings().addClass("hide");
            $(".page li").eq(i).addClass("active").siblings().removeClass("active");
        }
        $(".right").click(function () {
            loop_img()
        });
        $(".left").click(function () {
            if(i==0){
                i=7
            }
            i--;
            $(".good_img li").eq(i).removeClass("hide").siblings().addClass("hide");
            $(".page li").eq(i).addClass("active").siblings().removeClass("active");
        });
        ID=setInterval(loop_img,1000);
        $(".container").hover(function () {
            clearInterval(ID)
        },function () {
            ID=setInterval(loop_img,1000);
        })
    </script>
    </body>
    </html>
    View Code

    属性操作

    --------------------------CSS类
    $("").addClass(class|fn)
    $("").removeClass([class|fn])
    
    --------------------------属性
    $("").attr();  //括号中写入属性可以获得属性的值,写入属性和值可以改变相应属性的值
    $("").removeAttr();
    $("").prop();
    $("").removeProp();
    //对于HTML元素本身的固有属性,在处理时,使用prop方法
    //对于HTML元素我们自己定义的DOM属性,在处理时,使用attr方法
    //像checkbox,radio和select这样的元素,选中属性对应的"checked"和"selected",这些固有属性需要使用prp方法才能获得正确的结果
    --------------------------HTML代码/文本/值 $("").html([val|fn]) $("").text([val|fn]) $("").val([val|fn|arr]) --------------------------- $("#c1").css({"color":"red","fontSize":"35px"})

    each循环

    我们使用Jquery获取的是一个集合对象,是将所有的操作加到集合中的所有元素;但对于选中标签进行不同处理,这个时候就需要对所有元素进行循环遍历。

      方式一:

    格式:$.each(obj,fn)
    
    arr=["xiaobai","xiaohei","xiaohong","xiaozi"];
     $.each(arr,function (i,v) { //第一个参数i为索引,第二个参数v为值
            if(v=="xiaohei"){
                return false; //return后加false会退出所有循环相当于break,除false外则退出当前
            }                       //当前循环相当于continue 
            console.log(v);  //xiaobai,xiaohong,xiaozi
        });  
        
          //   if(v=="xiaohei"){
         //       return ; 
         //   }                       
         //   console.log(v);  // xiaobai
      //  });  
    
    

      方式二:

    格式:$("").each(function(){})
    $("tr").each(function(){
        console.log($(this).html())
    })

    文档节点处理

      

    //创建一个标签对象 $("<标签名>")
    $("<p>")
    
    //内部插入
    $("").append(content|fn)            ------>$(".test").append("<b>hello</b>");
    $("").appendTo(content|fn)        ------>$("<b>hello</b>").appendTo(".test");
    $("").prepend(content|fn)           ------>$("<b>hello</b>").prepend(".test");
    $("").prepend(content|fn)           ------>$(".test").prepend(<b>hello</b>");//        
                                                                    在.test首位添加b标签 
    $("<b>hello</b>").prependTo(".test");
    
    //外部插入
    $("").after(content|fn)                ------>$(".test").after("<b>hello</b>");//在.test
                                                                    后添加b标签
    $("").before(content|fn)              ------>$(".test").before("<b>hello</b>");
    $("").insertAfter(content)            ------>$("<b>hello</b>").insertAfter(".test");/在.test 
                                                                      后添加b标签
    $("").insertBefore(content)         ------>$("<b>hello</b>").insertBefore(".test");
    
    //删除
    $("").empty() //删除标签中的所有内容,但是保留标签本身
    $("").remove() //删除标签本身
    
    //复制
    $("").clone([Even[,deepEven]])

     动画效果

      显示和隐藏

    <img src="http://i2.hdslb.com/bfs/archive/2115586ec430d1472962f1742bf39e67b32cefb5.jpg" alt="">
    <button class="show">show</button>
    <button class="hide">hide</button>
    <button class="toggle">toggle</button>
    <script src="jquery-3.2.1.js"></script>
    <script>
    $(".show").click(function () {
        $("img").show();
    });
    $(".hide").click(function () {
        $("img").hide();
    });
    $(".toggle").click(function () {
        $("img").toggle(1000);
    })
    View Code

      滑动

    <img src="http://i2.hdslb.com/bfs/archive/2115586ec430d1472962f1742bf39e67b32cefb5.jpg" alt="">
    <button class="slideup">slideup</button>
    <button class="slidedown">slidedown</button>
    <button class="slidetoggle">slidetoggle</button>
    <script src="jquery-3.2.1.js"></script>
    <script>
    $(".slideup").click(function () {
        $("img").slideUp();
    });
    $(".slidedown").click(function () {
        $("img").slideDown();
    });
    $(".slidetoggle").click(function () {
        $("img").slideToggle(1000);
    })
    View Code

      淡入淡出

    <img src="http://i2.hdslb.com/bfs/archive/2115586ec430d1472962f1742bf39e67b32cefb5.jpg" alt="">
    <button class="fadein">fadein</button>
    <button class="fadeout">fadeout</button>
    <button class="fadetoggle">fadetoggle</button>
    <button class="fadeto">fadeto</button>
    <script src="jquery-3.2.1.js"></script>
    <script>
    $(".fadein").click(function () {
        $("img").fadeIn(1000);
    });
    $(".fadeout").click(function () {
        $("img").fadeOut(1000);
    });
    $(".fadetoggle").click(function () {
        $("img").fadeToggle(1000);
    });
    $(".fadeto").click(function () {
        $("img").fadeTo(1000,0.4);
    })
    View Code

    CSS操作

         $("").offset([coordinates])
            $("").position()
            $("").scrollTop([val])
            $("").scrollLeft([val])

    offset

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            *{
                margin:0;
                padding:0;
            }
            .move_div{
                background-color: #7CD0FF;
                height:200px;
                200px;
            }
    
    
        </style>
    </head>
    <body>
    <div class="move_div"></div>
    <script src="jquery-3.2.1.js"></script>
    <script>
        var mouse_x=0,mouse_y=0;
        $(".move_div").mousedown(function (e) {
            mouse_x=e.clientX;
            mouse_y=e.clientY;
            var origin_x=$(this).offset().left;
            var origin_y=$(this).offset().top;
            $(document).mousemove(function (e) {
                var new_x=e.clientX;
                var new_y=e.clientY;
                $(".move_div").offset({top:origin_y+new_y-mouse_y,left:origin_x+new_x-mouse_x})
        });
            $(document).mouseup(function () {
                $(document).off();
            })
        });
    </script>
    </body>
    </html>
    View Code

    scrollTop

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            *{
                margin:0;
                padding:0;
            }
            .box{
                 100%;
                height:2000px;
                background-color: #00a1d6;
            }
            .back{
                70px;
                height: 50px;
                text-align: center;
                line-height: 50px;
                position:fixed;
                bottom:20px;
                right:20px;
                color:white;
                background-color: #7EFF67;
                display: none;
            }
        </style>
    </head>
    <body>
    <div class="box"></div>
    <div class="back">TOP</div>
    <script src="jquery-3.2.1.js"></script>
    <script>
        $(window).scroll(function () {
            if($(window).scrollTop()>200){
                $(".back").show()
            }else{
                $(".back").hide()
            }
        });
        $(".back").click(function () {
            $(window).scrollTop(0);
        })
    </script>
    </body>
    </html>
    View Code

    position

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    
        <style>
            *{
                margin:0;
                padding:0;
            }
            .higher{
                height:200px;
                200px;
                background-color: #00a1d6;
            }
            /*.lower{*/
                /*position: relative;*/
            /*}*/
            .inner{
                height:300px;
                300px;
                background-color: blanchedalmond;
            }
        </style>
    </head>
    <body>
    <div class="higher"></div>
    <div class="lower">
        <div class="inner"></div>
    </div>
    <script src="jquery-3.2.1.js"></script>
    <script>
        console.log($(".inner").position().top);
        console.log($(".inner").position().left);
    </script>
    </body>
    </html>
    View Code
  • 相关阅读:
    25.大白话说java并发工具类-CountDownLatch,CyclicBarrier,Semaphore,Exchanger
    23.FutureTask基本操作总结
    22.线程池之ScheduledThreadPoolExecutor
    Jenkins + SVN搭建php持续集成
    Django学习系列之Form表单结合ajax
    Django学习系列之模板系统
    Django学习系列之路由系统
    zabbix学习系列之基础概念
    Python学习系列之反射
    Django学习系列之模板
  • 原文地址:https://www.cnblogs.com/c491873412/p/7359633.html
Copyright © 2011-2022 走看看