AI智能
改变未来

JS-jQuery工具库


1. jQuery初识篇

1.1 jQuery是什么
  • jQuery

    就是一个

    js

    库,把一些常用的方法写到一个单独的

    js

    文件,使用的时候直接引用这个js文件

1.2 jQuery的作用
  • jQuery

    让

    js

    的开发变得更加简单

  • jQuery

    解决了浏览器的兼容性问题

2.

jQuery

的使用

使用

jQuery

的三个基本步骤:

  1. 引包(引入
    jQuery

    文件)

<script src=\"../jquery-1.12.4.js\"></script>
  1. 入口函数(写在
    script

    标签中)
    语法一:

    $(document).ready(匿名函数)

    这是标准版,等页面加载之后执行
    语法二:

    $(匿名函数)

    这是简写版,推荐用这种

<script>//1. 标准的入口函数$(document).ready(function () {})//====================================//2. 简写版入口函数$( function () {})</script>
  1. 功能实现(使用
    jQuery

    获取对象、调用方法,实现功能)

$(\"#btn1\").click(function(){$(\"div\").show()})

3. jQuery的$符号

1. 其实

$

就是一个函数:

$()

参数不一样,功能不一样

2.

$

常用的几种情况:

  • $(function() {})

    参数是

    function

    ,说明是入口函数

  • $(document).ready(funciton(){})

    将

    document

    转换成

    jQuery

    对象,也是

    jQuery

    的入口函数

  • $(\"#btn\")

    根据

    id

    选择器获取元素,必须以

    #

    开头

  • $(\"div\")

    根据

    div

    元素选择器获取对象

  • $(\".class\")

    根据类选择器获取对象,必须以

    .

    开头

  • $(DOM对象)

    把

    dom

    对象转换成

    jQuery

    对象

注:

$ === jQuery

也就是说能用

$

的地方,完全可以用

jQuery

,

$

仅仅是简写形式。

3. 当

jQuery

的

$

跟别的框架里面的对象

$

起冲突的时候

  1. 被覆盖(先引入
    jQuery

    文件,再引入别的框架文件)的时候,使用备用对象

    jQuery

    代替

    $

    ;

  2. 覆盖了别的框架(别的框架先引入文件,
    jQuery

    后引入)的时候,释放

    $

    的控制权,
    不影响别的框架使用,然后自己可以使用备用的

    jQuery

    或者

//释放`$`控制权var c =  $.noConflict() // 在释放的时候定义一个变量接收来代替\'$\'

4. jQuery对象与DOM对象之间的区别、联系、转换

4.1 什么是

DOM

对象(

js

对象)

  • 使用
    JavaScript

    中的方法获取页面中的元素返回的对象就是

    dom

    对象。

  • dom

    对象只可以使用

    dom

    对象的方法和属性

4.2 什么是

jquery

对象?

  • jquery

    对象就是使用

    jquery

    的方法获取页面中的元素返回的对象就是

    jQuery

    对象。

  • jQuery

    对象其实就是

    DOM

    对象的包装集(包装了

    DOM

    对象的集合(伪数组))

4.3

jQuery

对象与

DOM

对象的区别

  • jQuery

    对象与

    DOM

    对象的方法不能混着用

4.4

jQuery

对象与

DOM

对象的联系

  • jQuery

    对象与

    DOM

    对象可以互相转换

4.5

jQuery

对象与

DOM

对象 之间的转换

// jQuery 转 DOMvar $li = $(\'li\') //这是jQuery对象// 转换方法一:$li[0] //因为jQuery对象就是一个DOM对象数组,所以可以用索引的方式转换成DOM对象//转换方法二:$li.get(0) //用jQuery定义的方法获取,参数为索引//DOM 转 jQuery$(DOM对象) //DOM对象转jquery对象

5. jQuery 的方法

5.1 操作样式的方法
  1. 设置

    css

    单个样式:

    css(\"样式名\",\"样式值\")

  2. 设置

    css

    多个样式:

    css({width:\"100px\",height:\"50px\"})

    样式名建议用驼峰式;

  3. 获取

    css

    样式:

    css(\"样式名\")

    返回样式值为

    String

    类型

注:隐式迭代:设置操作的时候会给

jquery

内部所有对象设置上相同的值。获取的时候:只会返回第一个元素对应的值

5.2 操作类的方法
  1. 添加类:

    addClass(\"类名\")

  2. 移除类:

    removeClass(\"类名\")

  3. 判断类:

    hasClass(\"类名\")

    判断有没有这个类,返回

    boolean

  4. 切换类:

    toggleClass(\"类名\")

    有则移除,无则添加,实现切换效果

5.3 操作属性的方法(标签里的属性)
  1. 设置单个属性:

    attr(\"属性名\",\"属性值\")

  2. 设置多个属性:

    attr({alt:\"属性值\",title:\"属性值\"})

  3. 获取属性值:

    attr(\"属性名\")

  4. 移除属性:

    removeAttr(\"属性名\")

  5. 操作布尔类型属性:

    prop()

    用法和

    attr

    一样

5.4 操作动画的方法

以下动画函数里面的参数有两个:执行时间、回调函数; 可都不填,回调函数,在动画执行完毕后执行

  1. 显示元素:

    show()

    显示加动画效果:

    show(time)

  2. 隐藏元素:

    hide()

    隐藏加动画效果:

    hide(time)

  3. 滑入(显示):

    slideDown(time)

  4. 滑出(隐藏):

    slideUp(time)

  5. 切换滑入滑出:

    slideToggle(time)

    如果是滑出状态就执行滑入,否则反之

  6. 淡入(显示):

    fadeIn(time)

  7. 淡出(隐藏):

    fadeOut(time)

  8. 切换淡入淡出:

    fadeToggle(time)

    如果是淡出状态就执行淡入,否则反之

  9. 自定义动画:

    animate({left : 800}, 2000, \'swing\', function () {})

    第一个参数:对象,里面可以传需要的动画样式(必填)
    第二个参数:动画执行的时间(毫秒值)
    第三个参数:动画执行效果

    \"swing\"

    (慢快慢),

    \"linear\"

    (匀速);不写默认为

    \"swing\"

    第四个参数:为函数,动画执行完毕后执行

  10. 停止当前执行的动画:

    stop()

    里面有两个

    boolean

    参数,一般不用,第一个为是否清除动画队列,第二个是否跳转到当前动画的最终效果

  11. 让动画停滞一段时间:

    delay(2000)

5.5 操作节点的方法
  1. 生成节点:

    $(\"<p>我是p标签</p>\")

  2. 添加子节点到最后:

    $(父节点).append($(子节点))

  3. 添加子节点到最前:

    $(父节点).prepend($(子节点))

  4. 添加到父节点的最后:

    $(子节点).appendTo($(父节点))

    (推荐用法, 适合链式编程)

  5. 添加到父节点的最前:

    $(子节点).prependTo($(父节点))

    (推荐用法,适合链式编程)

  6. 添加兄弟节点到后面:

    $(节点).after($(兄弟节点))

  7. 添加兄弟节点到前面:

    $(节点).before($(兄弟节点))

  8. 清空节点内容:

    empty()

    清空自己里面所有的内容,只留自己

  9. 删除节点:

    remove()

    删除自己里面的所有内容包括自己

  10. 克隆节点:

    clone()

    参数:

    false

    ,为默认参数,复制标签及内容
    参数:

    true

    ,复制标签及内容还有事件

5.6 操作表单value值的方法
  1. 获取表单的

    value

    值:

    val()

  2. 修改表单的

    value

    值:

    val(\"内容\")

5.7 操作标签文本内容的方法
  1. html()

    不传参数为获取,传参为设置,可以设置标签及内容

  2. text()

    不传参数为获取,传参数为设置,只操作内容

5.8 操作标签的宽高的方法
  1. 宽:

    width()

    不传参为获取,传参为设置,获取的就是标签的

    width

    值

  2. 高:

    height()

    不传参为获取,传参为设置,获取的就是标签的

    height

    值

5.9 获取页面的卷曲值
  1. 向上卷曲值:

    $(window).scrollTop()

  2. 向左卷曲值:

    $(window).scrollLeft()

5.10 获取元素的left和top值
  1. offset()

    获取元素距

    document

    页面边缘的距离,返回

    left

    ,

    top

    值

  2. position()

    获取相对于自己最近的定位的父元素边缘的值,只读属性不能传参数,返回

    left

    ,

    top

    值

5.11 遍历jQuery对象的方法
  1. 用

    for

    循环

  2. 用

    jQuery

    的方法

    each()

each(function(index,element){$(element).css(\"\",\"\");})//函数里第一个参数为jQurey对象里每个DOM对象的索引,第二个参数为DOM对象//在函数里面操作的时候转换成jQuery对象即可
5.12 其它方法
  1. 找索引:

    index()

    返回当前元素在所有兄弟元素中的索引

  2. 获取

    DOM

    对象:

    get(0)

  3. 添加或修改文本内容:

    text(\"内容\")

  4. end()

    筛选选择器会改变

    jQuery

    对象中的

    DOM

    对象,想要回复到上一次的状态,返回匹配元素之前的状态

6. jQuery选择器

6.1 什么是

jQuery

选择器

  • jQuery

    选择器是

    jQuery

    提供的一组方法,让我们更加方便的获取到页面中的元素。
    注意:

    jQuery

    选择器返回的是

    jQuery

    对象。

  • 特点:
    jQuery

    选择器有很多,基本兼容了

    CSS1

    到

    CSS3

    所有的选择器,并且

    jQuery

    还添加了很多更加复杂的选择器

6.2

jQuery

的基本选择器

  1. ID

    选择器:

    $(\'#id\')

    获取指定ID的元素

  2. 类选择器:
    $(\'.class\')

    获取所有此类名元素

  3. 标签选择器:
    $(\'div\')

    获取所有此标签元素

  4. 并集选择器:
    $(\'div, p, li\')

    使用逗号分隔,只要符合条件之一就可。获取所有的

    div、p、li

    元素

  5. 交集选择器:
    $(\'div.redClass\')

    注意选择器1和选择器2之间没有空格,

    class

    为

    redClass

    的

    div

    元素

6.3

jQuery

的层级选择器

  1. 子代选择器:
    $(\'ul>li\')
  2. 后代选择器:
    $(\'ul li\')
6.4

jQuery

的过滤选择器

  1. 索引为

    index

    的元素

    :eq(index)

    用法:

    $(\"li:eq(2)\")

  2. 索引为奇数的元素

    :odd

    用法:

    $(\"li:odd\")

  3. 索引为偶数的元素

    :even

    用法:

    $(\"li:even\")

  4. 第一个元素

    :first

    用法:

    $(\"li:first\")

  5. 最后一个元素

    :last

    用法:

    $(\"li:last\")

  6. 大于当前索引的元素,不包括当前索引元素

    :gt(index)

    用法:

    $(\"li:gt(index) \")

  7. 小于当前索引的元素,不包括当前索引元素

    :lt(index)

    用法:

    $(\"li:lt(index) \")

6.5

jQuery

的筛选选择器

  1. 找子元素

    children(\"选择器\")

    用法:

    $(\"ul\").children(\"li\")

    找到当前

    ul

    元素下为

    li

    的子元素

  2. 找兄弟元素

    siblings(\"选择器\")

    用法:

    $(\"#first\").siblings(\"li\")

    查找所有为

    li

    的兄弟节点,不包括自己本身

  3. 找后代元素

    find(\"选择器\")

    用法:

    $(\"ul\").find(\"li\")

    查找所有为

    li

    的后代节点

  4. 查找父元素

    parent()

    用法:

    $(\'#first\').parent()

  5. 找下一个兄弟元素

    next()

    用法:

    $(\'li\').next()

  6. 找后面所有的兄弟元素

    nextAll()

    用法:

    $(\'li\').nextAll()

  7. 找上一个兄弟元素

    prev()

    用法:

    $(\'li\').prev()

  8. 找前面的所有兄弟元素

    prevAll()

    用法:

    $(\'li\').prevAll()

  9. 找出索引为x的元素

    eq(index)

    用法:

    $(\'li\').eq(2)

7.

jQuery

的事件

7.1. 鼠标经过事件
  1. mouseover(函数)

    此方法在鼠标经过其与其子元素的时候都会触发事件(缺点可能触发多次)

  2. mouseenter(函数)

    此方法只在鼠标经过他自己的时候才会触发事件(触发一次,推荐使用)

7.2. 鼠标离开事件
  1. mouseout(函数)

    与

    mouseover

    (鼠标经过事件) 配对使用

  2. mouseleave(函数)

    与

    mouseenter

    (鼠标经过事件)配对使用

7.3 键盘事件
  1. keydown()

    按键按下事件

  2. keyup()

    按键抬起事件

7.4 注册事件

on
  1. 注册简单事件:

    $(\"element\").on(\"click\",function())

    给自己注册事件

  2. 注册委托事件:

    $(\"element\").on(\"click\",\"子后代元素\",function(){})

    给子元素或者后代元素注册委托事件,支持动态创建子元素

7.5 解绑事件

off
  1. off()

    不传参数就把当前对象的所有事件都解绑

  2. off(\"click\")

    传入什么事件参数,就解绑对应事件

7.6 事件触发

场景:在某事件中,触发别的元素事件

  1. 元素.事件名()
  2. 元素.trigger(\"事件名\")
7.7 事件对象

e

jQuery

事件对象就是对

js

事件对象的一个封装,处理了兼容性

对象的属性:

  1. screenX

    和

    screenY

    对应屏幕最左上角的值

  2. clientX

    和

    clientY

    距离页面左上角的位置(忽略滚动条)

  3. pageX

    和

    pageY

    距离页面最顶部的左上角的位置(会计算滚动条的距离)

  4. event.keyCode

    按下键盘的键的

    code

    码

  5. event.data

    存储绑定事件时传递的附加数据

对象的方法:

  1. event.stopPropagation()

    阻止事件冒泡行为

  2. event.preventDefault()

    阻止浏览器默认行为

  3. return:false

    写在事件处理函数的第一行,既能阻止事件冒泡,又能阻止浏览器默认行为

8. jQuery插件

概述:因为有些功能不是所有人都需要使用,为了减小

jQuery

文件的大小,所以有些功能,另外封装了插件当需要的时候另外引入插件使用

8.1 懒加载

lazyload()

插件

概述:懒加载适用于长网页,图片较多,页面滚动条到了之后再加载图片,不用一打开网页就加载全部图片,节省网页加载时间
步骤:
1. 先引入

jQuery.js

文件
2. 再引入

jquery.lazyload.js

文件
3. 使用插件:

  • 1).把需要懒加载的
    img

    标签的

    src

    名称改成

    data-original
  • 2).给需要懒加载的
    img

    标签添加一个统一的类

  • 3).在
    jQuery

    中:

    $(\".类名\").lazyload()
8.2 背景颜色渐变(动画效果)插件

概述:

jQuery

封装的

animate

方法不支持背景颜色渐变,它封装了另一个插件

jquery.color.js

步骤:
1. 先引入

jQuery.js

文件
2. 再引入

jquery.color.js

文件
3.使用

animate

方法就可以实现背景颜色渐变动画了,里面的颜色最好使用十六进制

8.3

jQuery

插件制作

概述:

jQuery

插件的实质就是给

jQuery

的原型

prototype

添加方法

  • 插件制作:
    jQuery.prototype.自定义方法名 = function(){}
  • 或者:
    $.prototype.自定义方法名 = function(){}

jQuery

里面封装了

prototype

的简写

fn

  • 简写:
    jQuery.fn.自定义方法名 = function(){}
  • 或者:
    $.fn.自定义方法名 = function(){}
赞(0) 打赏
未经允许不得转载:爱站程序员基地 » JS-jQuery工具库