jQuery 常用API

1.1 jQuery 基础选择器

原生 JS 获取元素方式很多,很杂,而且兼容性情况不一致,因此 jQuery 给我们做了封装,使获取元素统一标准。

1.2 jQuery 层级选择器

知识铺垫

jQuery 设置样式

1.3 隐式迭代

遍历内部 DOM 元素(伪数组形式存储)的过程就叫做隐式迭代。

简单理解:给匹配到的所有元素进行循环遍历,执行相应的方法,而不用我们再进行循环,简化我们的操作,方便我们调用。

1.4 jQuery 筛选选择器

1.5 jQuery 筛选方法

重点记住: parent() children() find() siblings() eq()

1.6 jQuery 里面的排他思想

想要多选一的效果,排他思想:当前元素设置样式,其余的兄弟元素清除样式。

案例:淘宝服饰精品案例

  • 核心原理:鼠标经过左侧盒子某个小li,就让内容区盒子相对应图片显示,其余的图片隐藏。
  • 需要得到当前小li 的索引号,就可以显示对应索引号的图片
  • jQuery 得到当前元素索引号 $(this).index()
  • 中间对应的图片,可以通过 eq(index) 方法去选择
  • 显示元素 show() 隐藏元素 hide()

链式编程

链式编程是为了节省代码量,看起来更优雅。

使用链式编程一定注意是哪个对象执行样式。

jQuery 可以使用 css 方法来修改简单元素样式; 也可以操作类,修改多个样式。

1. 参数只写属性名,则是返回属性值

2. 参数是属性名,属性值,逗号分隔,是设置一组样式,属性必须加引号,值如果是数字可以不用跟单位和引号

3. 参数可以是对象形式,方便设置多组样式。属性名和属性值用冒号隔开, 属性可以不用加引号

作用等同于以前的 classList,可以操作类样式, 注意操作类里面的参数不要加点。

1. 添加类

2. 移除类

3. 切换类

案例:tab 栏切换

点击上部的li,当前li 添加current类,其余兄弟移除类。

点击的同时,得到当前li 的索引号

让下部里面相应索引号的item显示,其余的item隐藏

2.3 类操作与className区别

原生 JS 中 className 会覆盖元素原先里面的类名。 jQuery 里面类操作只是对指定类进行操作,不影响原先的类名。

jQuery 给我们封装了很多动画效果,最为常见的如下:

3.1 显示隐藏效果

1. 显示语法规范

2. 显示参数

(1)参数都可以省略, 无动画直接显示。

(2)speed:三种预定速度之一的字符串(“slow”,“normal”, or “fast”)或表示动画时长的毫秒数值(如:1000)。

(3)easing:(Optional) 用来指定切换效果,默认是“swing”,可用参数“linear”。

(4)fn: 回调函数,在动画完成时执行的函数,每个元素执行一次。

1. 隐藏语法规范

2. 隐藏参数

(1)参数都可以省略, 无动画直接显示。

(2)speed:三种预定速度之一的字符串(“slow”,“normal”, or “fast”)或表示动画时长的毫秒数值(如:1000)。

(3)easing:(Optional) 用来指定切换效果,默认是“swing”,可用参数“linear”。

(4)fn: 回调函数,在动画完成时执行的函数,每个元素执行一次。

1. 切换语法规范

2. 切换参数

(1)参数都可以省略, 无动画直接显示。

(2)speed:三种预定速度之一的字符串(“slow”,“normal”, or “fast”)或表示动画时长的毫秒数值(如:1000)。

(3)easing:(Optional) 用来指定切换效果,默认是“swing”,可用参数“linear”。

(4)fn: 回调函数,在动画完成时执行的函数,每个元素执行一次。 建议:平时一般不带参数,直接显示隐藏即可。

1. 下滑效果语法规范

2. 下滑效果参数

(1)参数都可以省略。

(2)speed:三种预定速度之一的字符串(“slow”,“normal”, or “fast”)或表示动画时长的毫秒数值(如:1000)。

(3)easing:(Optional) 用来指定切换效果,默认是“swing”,可用参数“linear”。

(4)fn: 回调函数,在动画完成时执行的函数,每个元素执行一次。

1. 上滑效果语法规范

2. 上滑效果参数

(1)参数都可以省略。

(2)speed:三种预定速度之一的字符串(“slow”,“normal”, or “fast”)或表示动画时长的毫秒数值(如:1000)。

(3)easing:(Optional) 用来指定切换效果,默认是“swing”,可用参数“linear”。

(4)fn: 回调函数,在动画完成时执行的函数,每个元素执行一次。

1. 滑动切换效果语法规范

2. 滑动切换效果参数

(1)参数都可以省略。

(2)speed:三种预定速度之一的字符串(“slow”,“normal”, or “fast”)或表示动画时长的毫秒数值(如:1000)。

(3)easing:(Optional) 用来指定切换效果,默认是“swing”,可用参数“linear”。

(4)fn: 回调函数,在动画完成时执行的函数,每个元素执行一次。

3.3 事件切换

(1)over:鼠标移到元素上要触发的函数(相当于mouseenter)

(2)out:鼠标移出元素要触发的函数(相当于mouseleave)

(3)如果只写一个函数,则鼠标经过和离开都会触发它

3.4 动画队列及其停止排队方法

1. 动画或效果队列

动画或者效果一旦触发就会执行,如果多次触发,就造成多个动画或者效果排队执行。

2. 停止排队

(1)stop() 方法用于停止动画或效果。

(2) 注意: stop() 写到动画或者效果的前面, 相当于停止结束上一次的动画。

3.5 淡入淡出效果

1. 淡入效果语法规范

2. 淡入效果参数

(1)参数都可以省略。

(2)speed:三种预定速度之一的字符串(“slow”,“normal”, or “fast”)或表示动画时长的毫秒数值(如:1000)。

(3)easing:(Optional) 用来指定切换效果,默认是“swing”,可用参数“linear”。

(4)fn: 回调函数,在动画完成时执行的函数,每个元素执行一次。

1. 淡出效果语法规范

2. 淡出效果参数

(1)参数都可以省略。

(2)speed:三种预定速度之一的字符串(“slow”,“normal”, or “fast”)或表示动画时长的毫秒数值(如:1000)。

(3)easing:(Optional) 用来指定切换效果,默认是“swing”,可用参数“linear”。

(4)fn: 回调函数,在动画完成时执行的函数,每个元素执行一次。

1. 淡入淡出切换效果语法规范

2. 淡入淡出切换效果参数

(1)参数都可以省略。

(2)speed:三种预定速度之一的字符串(“slow”,“normal”, or “fast”)或表示动画时长的毫秒数值(如:1000)。

(3)easing:(Optional) 用来指定切换效果,默认是“swing”,可用参数“linear”。

(4)fn: 回调函数,在动画完成时执行的函数,每个元素执行一次。

1. 渐进方式调整到指定的不透明度

2. 效果参数

(1)opacity 透明度必须写,取值 0~1 之间。

(2)speed:三种预定速度之一的字符串(“slow”,“normal”, or “fast”)或表示动画时长的毫秒数值(如:1000)。必须写

(3)easing:(Optional) 用来指定切换效果,默认是“swing”,可用参数“linear”。

(4)fn: 回调函数,在动画完成时执行的函数,每个元素执行一次。

1. 语法

2. 参数

(1)params: 想要更改的样式属性,以对象形式传递,必须写。 属性名可以不用带引号, 如果是复合属性则需要采取驼峰命名法 borderLeft。其余参数都可以省略。

(2)speed:三种预定速度之一的字符串(“slow”,“normal”, or “fast”)或表示动画时长的毫秒数值(如:1000)。

(3)easing:(Optional) 用来指定切换效果,默认是“swing”,可用参数“linear”。

(4)fn: 回调函数,在动画完成时执行的函数,每个元素执行一次。

案例:王者荣耀手风琴效果

鼠标经过某个小li 有两步操作:

当前小li 宽度变为 224px, 同时里面的小图片淡出,大图片淡入

其余兄弟小li宽度变为69px, 小图片淡入, 大图片淡出​

4.1 设置或获取元素固有属性值 prop()

所谓元素固有属性就是元素本身自带的属性,比如 <a> 元素里面的 href ,比如 <input> 元素里面的 type。

1. 获取属性语法

2. 设置属性语法

4.2 设置或获取元素自定义属性值 attr()

用户自己给元素添加的属性,我们称为自定义属性。 比如给 div 添加 index =“1”。

1. 获取属性语法

2. 设置属性语法

改方法也可以获取 H5 自定义属性

4.3 数据缓存 data()

data() 方法可以在指定的元素上存取数据,并不会修改 DOM 元素结构。一旦页面刷新,之前存放的数据都将被移除。

1. 附加数据语法

2. 获取数据语法

同时,还可以读取 HTML5 自定义属性 data-index ,得到的是数字型

主要针对元素的内容还有表单的值操作。

主要是遍历、创建、添加、删除元素操作。

6.1 遍历元素

jQuery 隐式迭代是对同一类元素做了同样的操作。 如果想要给同一类元素做不同操作,就需要用到遍历。

语法1:

1. each() 方法遍历匹配的每一个元素。主要用DOM处理。 each 每一个

2. 里面的回调函数有2个参数: index 是每个元素的索引号; demEle 是每个DOM元素对象,不是jquery对象

3. 所以要想使用jquery方法,需要给这个dom元素转换为jquery对象 $(domEle)

语法2:

1. $.each()方法可用于遍历任何对象。主要用于数据处理,比如数组,对象

2. 里面的函数有2个参数: index 是每个元素的索引号; element 遍历内容

6.2 创建元素

语法:

动态的创建了一个 <li>

6.3 添加元素

1. 内部添加

把内容放入匹配元素内部最后面,类似原生 appendChild。

把内容放入匹配元素内部最前面。

2. 外部添加

内部添加元素,生成之后,它们是父子关系。

外部添加元素,生成之后,他们是兄弟关系。

6.4 删除元素

remove 删除元素本身。

empt() 和 html(\’\’\’\’) 作用等价,都可以删除元素里面的内容,只不过 html 还可以设置内容。

7.1 jQuery 尺寸

  • 以上参数为空,则是获取相应值,返回的是数字型。
  • 如果参数为数字,则是修改相应值。
  • 参数可以不必写单位。

7.2 jQuery 位置

位置主要有三个: offset()、position()、scrollTop()/scrollLeft()

1. offset() 设置或获取元素偏移

  • offset() 方法设置或返回被选元素相对于文档的偏移坐标,跟父级没有关系。
  • 该方法有2个属性 left、top 。offset().top 用于获取距离文档顶部的距离,offset().left 用于获取距离文档左侧的距离。
  • 可以设置元素的偏移:offset({ top: 10, left: 30 });

2. position() 获取元素偏移

  • position() 方法用于返回被选元素相对于带有定位的父级偏移坐标,如果父级都没有定位,则以文档为准。
  • 该方法有2个属性 left、top。position().top 用于获取距离定位父级顶部的距离,position().left 用于获取距离定位父级左侧的距离。
  • 该方法只能获取。

3. scrollTop()/scrollLeft() 设置或获取元素被卷去的头部和左侧

  • scrollTop() 方法设置或返回被选元素被卷去的头部。
  • 不跟参数是获取,参数为不带单位的数字则是设置被卷去的头部。​

25个可遇不可求的jQuery插件

随着jQuery插件在网站建设过程中的使用率不断的增加,所以有必要跟进时代步伐开发出一些新的插件/代码片段,以此来巩固并提高前端用户体验,将用户体验提升到一个新的高度。

接下来所推荐的这些插件中有滑块、地图、图片旋转块等等,可以说是最好的、完全免费的jQuery插件。

1. Flat jQuery Price Slider

实例|下载

这个jQuery价格滑块可以在一定范围内选择需要的价钱,不管你是做开发项目的还是设计项目,它都会起很大的作用。记住,这个插件完全免费。

2. Gmaps jQuery Map Plugin

实例|下载

GMaps.js是一个JavaScript插件,通过它可以很容易地在你的应用程序中使用谷歌地图,并包含了多个选项,如地图、方向、信息框等等。它的脚本是由很少的代码和简洁文档构成的。因为安装操作很简单,所以要想让代码实现功能就得自己动手。

3. FormChimp—MailChimp Ajax plugin for jQuery实例|下载

FormChimp是jQuery里的一个可定义的MailChimp Ajax插件,为用户提供一个简便的注册方式,这样的话用户在你的MailChimp列表里注册就不是一件麻烦的事了。

4. OWL Carousel

实例|下载

此jQuery插件具有的触摸功能可以让用户创建出好看的响应式旋转滑块。

5. jQuery Spellchecker

实例|下载

这个轻量级的jQuery插件能检查文本文档里的单词拼写的正确性,主要是用在一个表单字段里或者是在DOM目录里。

6. Chart js

下载

Chart.js 是一个令人印象深刻的 JavaScript 图表库,建立在 HTML5 Canvas 基础上。目前,它支持6种图表类型:折线图、条形图、雷达图、饼图、柱状图和极地区域区。而且,这是一个独立的包,不依赖第三方JavaScript 库,小于 5KB。颜色,字体,边框和它们的尺寸都可以定制,图表可以动画的形式加载,非常炫。

7. Email-autocomplete

实例|下载

这个插件会建议你或者是直接在邮件地址栏里自动填写完域名。

8. Draggabilly

实例|下载

你可以用这个插件做一些可拖动的jQuery代码片段。

9. Interact.js

实例|下载

这是一个为电脑和移动设备上的浏览器而制作的可拖放、重置大小、调整手势的插件。

10. Sortable

实例|下载

它是一个极简单的JavaScript类库,主要是为现代浏览器和触摸设备而制定的。

11. rowGrid.js

实例|下载

大小只有800bytes gzipped的轻量级jQuery插件用处是把图片或其它项目排版在连续的行内。

12. Scattered Polaroid gallery

实例|下载

这个插件可以在容器里随机排版这些相片,当你选中了一个项目的时候它就会移动到屏幕中间,其它项目自动闪到旁边。

13. Viewport Image Resize

实例|下载

操作上比较简单,没有任何麻烦,重新设置图像大小和对图片进行修剪,这些都是基于pseudo视图而做的。

14. jQueryUI Limitslider

实例|下载

这一滑块插件允许在一条选择线上做出多个滑块,这些滑块可以用来代表位置、尺寸、举例等等,同时还可以在滑块上做标签或者是悬浮标题。

15. Freewall

实例|下载

Freewall是一个跨浏览器、响应式的jQuery插件,可以创建出多种多样适用在电脑、移动设备和平板电脑上的网格布局。

16. jQuery fontIconPicker

实例|下载

这个只有1.58kb gzipped大小的插件,可以让用户创建一个带有搜索功能的简单的图标选择器放在管理列表里。

17. Bootstrap-dialog

实例|下载

这个插件会让用户使用Bootstrap的模型更加熟练。

18. jquery.tabelizer

实例|下载

Tabelizer 1.0.3—用在表格上的多层次分组指标器。

19. Facebook Badge Jquery Plugin

实例|下载

FaceBadge可以在用户网站上添加了一个Facebook页面标记,用起来更省事。

20. Croppic

项目网页

这是一个用来裁剪图片的jQuery插件,效果超出你想象。

21. JQuery Plugin for Google Drive API

实例|下载

这个插件主要是为了让在不同设备上的Google Drive能够同步协作,传输文件等等,包括是Android设备。

22. Pick-a-Color

实例|下载

这项插件的设计之初就是希望所有人都能使用它,它的界面主要是基于Twitter Bootstrap的风格而设计,所以看起来比较亲切。

23. Simple Vertical Menu

下载代码

看上去很简单,但是很时髦的一个插件,使用了一些CSS3和jQuery技术,拥有自定义字体和令人影响深刻的标记图案。

24. jQuery Message Form

下载代码

这只是一个很小的字符计数器的实验版本。

25. Magnifying Glass Plugin with jQuery and CSS3项目主页

这是一个简单的小插件,基于TCP的排版设计。

原文来自:DesignScrazed

开发者不应错过的10个有用jQuery插件

jQuery是简化了HTML文档遍历、事件处理、动画和Ajax交互最快、最简洁的JavaScript库。随着越来越多的jQuery插件出现,开发者们可以很轻易地将所需要的组件整合进他们的导航菜单、logo、表格化布局、简短的文本,使其拥有指定的大小或是为其创建一系列的滑动效果,以迎合网站的主题。jQuery的出现丰富了网页的应用和开发,促使了多功能、视觉效果绚丽的网站的出现。在本文中,我们将为开发人员列出10个非常有用的jQuery插件,欢迎品鉴!

Responsive Swipe可以让您为不同设备的不同内容服务,您可以使用Responsive Swipe插件创建一个RESS站点发送不同的内容到不同的设备上。

jQuery Location Picker允许您很容易地找到并选择一个Google地图上的位置,同时提供中心位置和半径,它还可以选择一片区域。其所有的数据都可以被自动保存到任何HTML元素中,也可以使用Javascript处理。

FilmRoll是一个轻量级的传送插件,其专注于一个项目,同时还支持外部按钮、全屏等。

CLNDR.js是一个日历插件,用来创建日历,允许用户随意的按照自己的想法自定义日历。它提供一些很有帮助的选项,确定星期的推移、初始加载时显示日历、点击事件等功能。

jQuery Mapael是基于Raphael.js的一个jQuery插件,可以显示动态矢量地图。

Sticky是一个简单的页面消息提醒的jQuery插件。可以设置让消息在页面的四个角落出现,也可以设置在页面中央出现。可以手动关闭消息,也可以设置成自动关闭。

jQuery.Fileapi是一个专用于FileAPI的jQuery插件,能多个上传、图片上传、裁剪、调整大小等。

Excolo Slider是一款简单的jQuery滑动插件,支持响应式设计和触摸启动(仅限几个浏览器),附带幻灯片自动播放功能、鼠标滑动导航功能、分页功能和包含其他容易滑动的图像。

CollagePlus是一个jQuery表格插件,您可以定义图片之间的距离,通过CSS给它们加边框。

jQuery Fullscreen Editor能将文本域转换成定制的编辑器,拥有全屏编辑的功能,适用于移动端和桌面浏览器。

本站文章除注明转载外,均为本站原创或翻译

本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com

点赞 0
收藏 0

文章为作者独立观点不代本网立场,未经允许不得转载。