本文介绍: 一个封装好的特定的集合方法函数)。在这个里面封装了很多定义好的函数支持js的常规操作以及拓展是一个快速简介的js库,设计的宗旨”write lessdo more学习jquery本质学习调用这些函数方法)&lt;script src=&quot;./jquery-3.6.0.js&quot;&gt;</script&gt;<script&gt; &nbsp; &nbsp; &nbsp; &nbsp;var box1 = document.querySelector(&amp;

JQuery

JavaScript库

一个封装好的特定的集合方法和函数)。在这个里面,封装了很多定义好的函数,支持js的常规操作以及拓展

 

JQuery

一个快速简介的js库,设计的宗旨”write lessdo more

学习jquery本质学习调用这些函数(方法

JQuery使用

<script src="./jquery-3.6.0.js"&gt;</script&gt;
<script&gt;
        var box1 = document.querySelector(".box1")
        console.log(box1);
        var box1Jq = $('.box1')
        console.log(box1Jq);
    </script&gt;

JQuery的入口函数

JQuery的顶级对象$

$是jQuery的别称,可以使用jQuery代替的,但是为了方便,一般直接使用$

JQuery常用API

JQuery选择器

原生的js获取DOM的方法很多,但是有一些有兼容性的问题,所以jq封装选择方法,使我们获取元素一个统一标准

$(选择器) 返回的是Jq对象,是一个数组,不是dom数组 ,要使用jq方法,就必须使用jq的对象调用

    <div class="box1"&gt;</div>
    <div id="box1">
        <div class="box2"></div>
    </div>
    <script>
        // 返回的不论是id还是类全部都是一个jq的对象数组
        // 选择器的使用和CSS的选择器是一样
        console.log($(".box1"));
        console.log($("#box1"));
        console.log($("div"));
        console.log($(".box2"));
        console.log($("#box1 .box2"));
    </script>

隐式迭代

遍历内部的DOM元素过程叫做隐式迭代

jq会自动匹配元素进行循环遍历,执行相应的方法我们需要自己来写循环遍历的操作,简化代码

        // 为五个li添加点击事件
        // 原生的写法
        var lis = document.querySelectorAll("li")
        for (var i = 0; i < lis.length; i++) {
            lis[i].style.color = 'red'
        }
        // jq的写法
        var liss = $('li')
        liss.css("color", "blue")

获取指定下标元素

            // 获取指定下标元素,使用eq方法获取对应下标元素
            console.log(liss.eq(i));
            liss.eq(i).css("color", colors[i])

获取当前元素的下标

        liss.click(function () {
            // console.log(this);
            // 使用$将this转换成jq对象
            console.log($(this).index());
        })

排他思想

当前元素设置样式,其他的兄弟元素清楚样式

siblings():返回被选子元素的同级元素

        lis.click(function () {
            // console.log(this);
            // lis.css("color", 'black')
            // 将当前这个元素的字体颜色设置成红色
            $(this).css("color", "red")
            // 获取到当前元素的兄弟元素,
            // 可以传入一个选择器,表示查找兄弟元素并且符合选择规则的元素
            console.log($(this).siblings('.item'));
            $(this).siblings('.item').css("color", "black")
        })

链式编程

JQ的对象可以一直调用jq函数的,可以把所有代码写在一行

        lis.click(function () {
            $(this).css("color", "red").siblings('.item').css("color", "black")
        })

样式操作

动画

显示隐藏

show(speed,callback)

speed:规定动画的速度,值可以是slowfast,也可是毫秒

callback回调函数,动画结束后才会执行的函数

show hide toggle

        $('.btn1').click(function () {
            $('.container').show(1000, function () {
                console.log("动画结束了");
            })
        })
        $('.btn2').click(function () {
            // console.log(this);
            // 获取container容器
            // hide隐藏元素
            $('.container').hide(1000, function () {
                console.log("动画结束了");
            })
        })
        $('.btn3').click(function () {
            $('.container').toggle(1000, function () {
                console.log("动画结束了");
            })
        })

滑动

slideDown slideUp slideToggle

        $('.btn1').click(function () {
            $('.container').slideDown(1000, function () {
                console.log("动画结束了");
            })
        })
        $('.btn2').click(function () {
            $('.container').slideUp(1000, function () {
                console.log("动画结束了");
            })
        })
        $('.btn3').click(function () {
            $('.container').slideToggle(1000, function () {
                console.log("动画结束了");
            })
        })

淡入淡出

fadeIn fadeOut fadeToggle

fadeTo(speed,opacity,callback)

opacity切换透明度指定

        $('.btn1').click(function () {
            $('.container').fadeIn(1000, function () {
                console.log("动画结束了");
            })
        })
        $('.btn2').click(function () {
            $('.container').fadeOut(1000, function () {
                console.log("动画结束了");
            })
        })
        $('.btn3').click(function () {
            $('.container').fadeToggle(1000, function () {
                console.log("动画结束了");
            })
        })
        $('.btn4').click(function () {
            $('.container').fadeTo(1000, 0.5, function () {
                console.log("动画结束了");
            })
        })

自定义动画

animate(params,speed,callback)

params终止时候的样式属性

speed:速度,和上面一样

callback:回调函数,和上面一样

        $('.btn1').click(function () {
            $('.container').animate({
                width: '200px',
                height: '200px',
                backgroundColor: '#00f',
                fontSize: '80px',
                color:'white'
            }, 1000, function () {
                console.log("动画结束了");
            })
        })

停止动画

停止正在执行的动画

        $('.btn2').click(function () {
            $('.container').stop()
        })

属性操作

1、固有属性

prop(“属性名”) 获取属性值

prop(“属性名”,”属性值”) 设置属性值

元素本身自带的属性

1、如果元素有对应的属性,则返回指定的属性值

2、如果元素没有对应的属性值,则返回字符串,如果这个属性不是元素自带的则返回undefined

$("img").prop("src", imgUrl)

2、自定义属性

attr(“属性名”) 获取自定义属性值

attr(“属性名”,”属性值”) 设置自定义属性值

1、如果元素有对应的属性,则返回指定的属性值

2、如果元素没有对应的属性值,则返回undefined

$("img").attr("src", imgUrl)

3、数据缓存

data可以指定的元素上存取数据,不会改变dom结构页面刷新存放数据消失

data(“属性名”) 获取自定义属性值

data(“属性名”,”属性值”) 设置自定义属性值

<!-- 在标签上写数据需要使用data-属性值 -->
console.log($("img").data("src"));
$("img").data("src", imgUrl)
console.log($("img").data("title"));
console.log($("img").data("href"));

区别

propattr只能存字符串data可存任意类型

prop>attr prop>data dataattr效率不一定

内容文本

html() 获取或者设置元素的内容 相当于 innerHTML

text() 获取或者设置元素的文本内容 相当于 innerText

val() 获取或者设置表单元素的值 相当于value

        console.log($('.box1').text());
        console.log($('.box1').html());
        $('.box1').text("<button>这是一个按钮</button>")
        $('.box1').html("<button>这是一个按钮</button>")
        console.log($('input').val());
        $('input').val("修改后的值")

遍历操作

jq的隐式迭代会对同一类元素做一样的操作,如果要想对不同元素做不同操作,需要用到遍历

遍历DOM元素

jqDom.each(function (index,domEl) {})

index:索引号

domEl:DOM元素对象,不是jq对象,要用jq的方法要先转换成jq对象

        // 只能循环jq的dom数组
        $("li").each(function (index, domEl) {
            console.log(index, domEl);
            // domEl.style.color = colors[index]
            $(domEl).css('color', colors[index])
        })

遍历所有对象

$. each(obj,function (index,item) {})

obj:被遍历的对象,任何对象都可以,主要用于数据处理

index:索引号

item:遍历的元素

        // 可以遍历任何对象
        $.each($('li'), function (index, item) {
            console.log(index, item);
        })

元素操作

1、创建元素

var li = $(`<li>4</li>`)

2、添加元素

        $('ul').append(li)
        $('ul').prepend(li)
        $('ul').after(li)
        $('ul').before(li)
        // 同时操作同一个元素,最终的结果会是最后调用的那一个操作

3、删除元素

remove() 删除匹配的元素,包括本身

empty() 删除匹配的元素的子元素,不包括本身

html(”) 情况匹配的元素内容

尺寸操作、位置操作

1、尺寸

      console.log($(".box1").width()); // 获取匹配元素的宽度,只计算width
      console.log($(".box1").height());// 获取匹配元素的高度,只计算height
      console.log($(".box1").innerWidth());// 获取匹配元素的宽度包含padding
      console.log($(".box1").innerHeight());// 获取匹配元素的高度,包含padding
      console.log($(".box1").outerWidth());// 获取匹配元素的宽度,包含paddingborder
      console.log($(".box1").outerHeight());// 获取匹配元素的高度,包含paddingborder
      console.log($(".box1").outerWidth(true));// 获取匹配元素的宽度,包含paddingbordermargin
      console.log($(".box1").outerHeight(true));// 获取匹配元素的高度,包含paddingbordermargin

2、位置

3、滚动事件

      $(document).scroll(function () {
        // scrollTop()/scrollLeft 用来获取滚动长度
        if ($(document).scrollTop() > 400) {
          $(".top").fadeIn(1000);
        } else {
          $(".top").fadeOut(1000);
        }
      });
      $(".top").click(function () {
        // 设置滚动高度为0,实现回到顶部效果
        $(document).scrollTop(0);
      });

事件

1、单个事件注册

el.事件类型(function(){

    // 事件处理程序

})

2、事件处理 on绑定事件

el.on('events',fn)
// events 一个或者多个空格分隔的事件类型
// fn 要执行的函数

优点

  • 可以绑定多个函数

          // 绑定多个函数,如果多个事件都是同一个操作
          // 可以多个写在一起
          $(".box1").on("mouseenter mouseleave click", function () {
            console.log(1);
          });
          // 绑定多个函数,如果多个事件做的是不同操作
          // 使用对象的形式
          $(".box1").on({
            click: function () {
              console.log(1);
            },
            mouseenter: function () {
              console.log(2);
            },
            mouseleave: function () {
              console.log(3);
            },
          });
  • 给子元素动态绑定事件

          // 把事件委托给父元素
          // 可以给动态生成的元素绑定事件
          $("ul").on("click", "li", function () {
            console.log(this);
          });

off解绑事件

        // 解除事件绑定
        // 解除所有事件
        $("button").off();
        // 解除单个事件
        $("button").off("click");有事件

one事件 只触发一次

$("button").one("click", function () {
    sendMsg();
});

自动触发事件

$("button").click();

jq的事件处理对象

      // 冒泡事件
      // 点击子元素的时候如果父元素上有一样事件类型,则父元素也会被触发
      $(".box1").click(function (e) {
        console.log("box1");
      }); 
      $(".box2").click(function (e) {
        e.stopPropagation();
        console.log("box2");
      });

      // 默认事件
      $("a").click(function (e) {
        e.preventDefault();
        console.log("a");
      });

JQ插件

jQuery插件库-收集最全最新最好的jQuery插件

原文地址:https://blog.csdn.net/m0_71956038/article/details/125265688

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_31320.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注