本教程操作环境:windows7系统、jquery3.6.1版本、dell g3电脑。
plugins的意思为“插件”。jquery plugins的意思为“jquery插件”。
什么是jquery插件?
jquery插件,就是开发爱好者自己利用jquery制作的特效,然后经过封包或包装处理成js文件,发布到网上供大家使用的脚本集合。
编写jquery插件的目的主要是给已经有的一系列方法或函数做一个封装,以便在其他地方重复使用,方便后期维护和提高开发效率。
通常这类插件除了调用jquery库文件,还需要调用插件文件。都有使用说明,一看即会。 比如jquery官网制作的插件jquery,在使用它时不仅要链接库文件,还要链接ui文件以及ui的css文件,如:
<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" rel="stylesheet" type="text/css"/><script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script><script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>
经过这几部的操作,jquery效果才能真正被引用到网页文件中起到作用。
插件编写
关于插件的编写,jquery官方给了一套对象级别开发插件的模板:
;(function ($) { $.fn.plugin=function (options) { var defaults={ //各种参数、各种属性 }; //options合并到defaults上,defaults继承了options上的各种属性和方法,将所有的赋值给endoptions var endoptions=$.extend(defaults,options); this.each(function () { //实现功能的代码 }); };})(jquery);
模板要点:
1.函数全部放在闭包里,外面的函数就调用不到里面的参数了,比较安全
2.前面加分号,避免不必要的麻烦
jquery插件调用的方法:
1、通过$.extend()来拓展jquery
2、通过向$.fn来想jquery添加方法
3、通过$.widget()应用jquery ui部件工场方法创建
其中的方法1没办法调用选择器,仅仅被jquery理解成为添加静态方法,所以我们使用的时候不需要选中dom对象
jquery常用的第三方插件
jquery有着丰富的第三方的插件,例如:树形菜单、日期控件、图片切换插件、弹出窗口等等基本前台页面上的组件都有对应插件,并且用jquery插件做出来的效果很炫,并且可以根据自己需要去改写和封装插件,简单实用。
下面介绍一下常用第三方插件。
1、jquery表单验证插件:validation(1)validation简介
最常使用javscript的场合就是表单的验证,而jquery作为一个优秀的javascript库,也提供了一个优秀的表单验证插件——validation.validation是历史最悠久的jquery插件之一,经过了全球范围内不同项目的验证,并得到了许多web开发者的好评。作为一个标准的验证方法库,validation拥有如下优点:
内置验证规则:拥有必填、数字、e-mail、url和信用卡号码等19类内置验证规则自定义验证规则:可以很方便地自定义验证规则简单强大的验证信息提示:默认了验证信息提示,并提供自定义覆盖默认提示信息的功能实时验证:可以通过keyup或blur事件触发验证,而不仅仅在表单提交的时候验证。(2)插件下载地址:http://bassistance.de/jquery-plugins/jquery-plugin-validation/
validation插件的官方api地址为:http://docs.jquery.com/plugins/validation
2、jquery表单插件:form(1)form插件简介
jquery form插件是一个优秀的ajax表单插件,可以非常容易地、无侵入地升级html表单以支持ajax。jquery有两个核心方法——ajaxform()和ajaxsubmit(),它们集合了从控制表单元素到决定如何管理提交进程的功能。另外iain,插件还包括其他的一些方法:formtoarray()、formserialize()、fieldserialize()、fieldvalue()、clearform()和resetform()等
(2)jquery form表单插件下载地址:http://jquery.malsup.com/form/。读者可以下载该插件,并在该网站上查看简单上手说明、api、实例代码等。
3、动态绑定事件插件:livequery(1)livequery插件简介
jquery的事件绑定功能使得jquery代码与html代码能够完全分离,这样代码的层次关系更加清晰,维护起来也更加简单。然而对于动态加载到页面的html元素,每次都需要重新绑定事件到这些元素上,十分不便。一款新的插件由此产生,即livequery,可以利用它给相应的dom元素注册时间或者触发回调函数函数。不仅当前选择器匹配的元素会被绑定事件,而且后来通过javascript添加的元素都会被绑定事件。当元素不再和选择器匹配时,livequery会自动取消事件注册,使得开发者不再需要关注html元素的来源,只需要关注如何编写其绑定的事件即可。
通过jquery选择器选择一个dom元素,livequery插件会实时地在整个dom范围将其持久化。这意味着无论元素是先前存在的还是后来动态加载的,事件都会被绑定,就像是css给元素添加样式一样。同时,这款插件几乎在没占用什么资源的情况下就做到了这些功能。
(2)jquery livequery插件的下载地址:http://plugins.jquery.com/livequery/
4、jquery ui插件(1)jquery ui简介:
jquery ui源自于一个jquery插件——interface。interface插件最早版本我1.2,只支持jquery1.1.2的版本,后来有人对interface的大部分代表基于jquery1.2的api进行重构,并统一了api。由于改进重大,因此版本号不是1.3而是直接跳到1.5,并且改名为jquery ui。
jquery ui主要分为3个部分,交互、微件和效果库
交互。这里都是一些 与鼠标 交互相关的内容。包括拖动,置放,缩放,选择 和排序 等待。微件(widget)中有部分是基于这些交互组建来制作的。此库需要 一个jquery ui 核心库——ui.core.js支持微件。这里主要是一些界面的扩展。里边包括 了手风琴导航,自动完成,取色器,对话框,滑块,标签 ,日历,放大镜,进度条和微调控制器等待。此库需要 一个jquery ui 核心库——ui.core.js支持效果库。此库用于提供丰富的动画效果,让动画不再局限于animate()方法。效果库有自己的一套核心即effects.core.js,无需jquery的核心库ui.core.js支持
(2)jquery ui插件的下载地址为:http://jqueryui.com/download/all/。选择“jquery ui 1.6rc2”链接可以直接下载完整套件,包括源码,发行版和测试驱动等。
5、管理cookie的插件:cookie(1)cookie插件简介
cookie是网站设计者放置在客户端的小文本文件。cookie能为用户提供很多的便利,例如购物网站存储用户曾经浏览过的产品列表,或者门户网站记住用户喜欢选择浏览哪类新闻。在用户运行的情况下,还可以存储用户的登陆情况,使得用户在访问网站时不必每次都键入这些信息。
jquery提供了一个十分简单的插件来管理网站的cookie,该插件的名称也是cookie.
(2)jquery cookie插件的下载地址:http://plugins.jquery.com/cookie/
6、模态窗口插件:simplemodal(1)simplemodal插件简介
simplemodal是一个轻量级的jquery插件,它为模态窗口的开发提供了一个强有力的接口,可以把它当作模态窗口的框架。simplemodal非常的灵活,可以创建你能够想象到的任何东西i,并且 你还不需要考虑ui开发中的跨浏览器相关问题。
(2)simplemodal插件的下载地址:http://www.ericmmartin.com/projects/simplemodal/
7、延迟加载图片插件:lazyload
延迟加载图片或符合某些条件才开始加载图片
下载网址:https://cdn.bootcss.com/jquery_lazyload/1.9.7/jquery.lazyload.min.js
8、fly插件
添加购物车效果、实现抛物线运动
下载地址:https://github.com/amibug/fly
9、qrcode
能够在客户端生成矩阵二维码qrcode 的jquery插件
下载地址:https://github.com/lrsjng/jquery-qrcode
10、spinner
可以很方便的实现购物车数量的加减,也支持使用键盘上的上下键来改变购物车的数量。
下载地址:https://github.com/vsn4ik/jquery.spinner
等等。。。
【推荐学习:jquery视频教程、web前端视频】
以上就是什么是jquery plugins的详细内容。