首页 » Web前端 » JQuery属于PHP技巧_jquery 简介

JQuery属于PHP技巧_jquery 简介

访客 2024-12-13 0

扫一扫用手机浏览

文章目录 [+]

jQuery是一个兼容多浏览器的javascript库,核心理念是write less,do more(写得更少,做得更多)。
jQuery在2006年1月由美国人John Resig在纽约的barcamp发布,吸引了来自天下各地的浩瀚JavaScript高手加入,由Dave Methvin率领团队进行开拓。
如今,jQuery已经成为最盛行的javascript库,在世界前10000个访问最多的网站中,有超过55%在利用jQuery。

jQuery是免费、开源的,利用MIT容许协议。
jQuery的语法设计可以使开拓更加便捷,例如操作文档工具、选择DOM元素、制作动画效果、事宜处理、利用Ajax以及其他功能。
除此以外,jQuery供应API让开发者编写插件。
其模块化的利用办法使开拓者可以很轻松的开拓出功能强大的静态或动态网页。

JQuery属于PHP技巧_jquery 简介

jQuery,顾名思义,也便是JavaScript和查询(Query),即是赞助JavaScript开拓的库。

JQuery属于PHP技巧_jquery 简介
(图片来自网络侵删)

历史

大概在 1992 年,一家称作 Nombas 的公司开拓了一种叫做 C 减减(C-minus-minus,简称 Cmm)的嵌入式脚本措辞。
Cmm 背后的理念很大略:一个足够强大可以替代宏操作(macro)的脚本措辞,同时保持与 C (和 C ++)足够的相似性,以便开拓职员能很快学会。
这个脚本措辞捆绑在一个叫做 CEnvi 的共享软件中,它首次向开拓职员展示了这种措辞的威力。

Nombas 终极把 Cmm 的名字改成了 ScriptEase,缘故原由是后面的部分(mm)听起来过于悲观,同时字母 C “令人害怕”。

当 Netscape Navigator 崭露锋芒时,Nombas 开拓了一个可以嵌入网页中的 CEnvi 的版本。
这些早期的试验被称为 Espresso Page(浓咖啡般的页面),它们代表了第一个在万维网上利用的客户端措辞。
而 Nombas 丝毫没有料到它的理念将会成为万维网的一块主要基石。

当网上冲浪越来越盛行时,对付开拓客户端脚本的需求也逐渐增大。
此时,大部分因特网用户还仅仅通过 28.8 kbit/s 的调制解调器连接到网络,即便这时网页已经不断地变得更大和更繁芜。
而更加加剧用户痛楚的是,仅仅为了大略的表单有效性验证,就要与做事器进行多次地来回交互。
设想一下,用户填完一个表单,点击提交按钮,等待了 30 秒的处理后,看到的却是一条见告你忘却填写一个必要的字段。

那时正处于技能改造最前沿的 Netscape,开始负责考虑开拓一种客户端脚本措辞来办理大略的处理问题。

当时事情于 Netscape 的 Brendan Eich,开始动手为即将在 1995 年发行的 Netscape Navigator 2.0 开拓一个称之为 LiveScript 的脚本措辞,当时的目的是在浏览器和做事器(本来要叫它 LiveWire)端利用它。
Netscape 与 Sun 及时完成 LiveScript 实现。

就在 Netscape Navigator 2.0 即将正式发布前,Netscape 将其更名为 JavaScript,目的是为了利用 Java 这个因特网时髦词汇。
Netscape 的赌注终极得到回报,JavaScript 从此变成了因特网的必备组件。

由于 JavaScript 1.0 如此成功,Netscape 在 Netscape Navigator 3.0 中发布了 1.1 版。
适值那个时候,微软决定进军浏览器,发布了 IE 3.0 并搭载了一个 JavaScript 的克隆版,叫做 JScript(这样命名是为了避免与 Netscape 潜在的容许轇轕)。
微软步入 Web 浏览器领域的这主要一步虽然令其声名散乱,但也成为 JavaScript 措辞发展过程中的主要一步。

在微软进入后,有 3 种不同的 JavaScript 版本同时存在:Netscape Navigator 3.0 中的 JavaScript、IE 中的 JScript 以及 CEnvi 中的 ScriptEase。
与 C 和其他编程措辞不同的是,JavaScript 并没有一个标准来统一其语法或特性,而这 3 种不同的版本正好突出了这个问题。
随着业界担心的增加,这个措辞的标准化显然已经势在必行。

2006年1月,jQuery的第一个版本面世,至今已经有10年多了(注:这个韶光点是截止至出书韶光)。
虽然过了这么久,但它依然以其简洁、灵巧的编程风格让人一见爱慕。
在本篇文章中,我们将讲述jQuery的发展历史,让读者对jQuery有更多的理解。

在jQuery迅速发展的同时,一些大的厂商也看中了商机。
2009年9月,微软和诺基亚公司正式宣告支持开源的jQuery库,其余,微软公司还流传宣传他们将把jQuery作为Visual Studio工具集的一部分。
他将供应包括jQuery的智能提示、代码片段、示例文档体例等内容在内的功能。
微软和诺基亚公司将长期成为jQuery的用户成员,其他成员还有Google,Intel,IBM,Intuit等公司。
  2009年1月,jQuery 1.3版发布,它利用了全新的选择符引擎Sizzle,在各个浏览器下全面超越其他同类型JavaScript框架的查询速率,程序库的性能也因此有了极大提升。
这一版本的第2个变革便是供应live()方法,利用live()方法可以为当前及将来增加的元素绑定事宜,在1.3版之前,如果要为将来增加的元素绑定事宜,须要利用livequery插件,而在1.3版中,可以直接用live()方法。
 2005年8月,John Resig发起改进Prototype的“Behaviour”库,于是他在blog上揭橥了自己的想法,并用了3个例子做解释。

当时John的想法很大略:他创造这种语法相对现有的JavaScript库更为简洁。
但他没想到的是,这篇文章一经发布就引起了业界的广泛关注。
于是John开始负责思考着这件事情(编写语法更为简洁的JavaScript程序库),直到2006年1月14日,John正式宣告以jQuery的名称发布自己的程序库。
随之而来的是jQuery的快速发展。
  2006年8月,jQuery的第一个稳定版本,并且已经支持CSS选择符、事宜处理和AJAX交互。
  2007年7月,jQuery 1.1.3版发布,这次小版本的变革包含了对jQuery选择符引擎实行速率的显著提升。
从这个版本开始,jQuery的性能达到了Prototype、Mootools以及Dojo等同类JavaScript库的水平。
同年9月,jQuery 1.2版发布,它去掉了对XPath选择符的支持,缘故原由是相对付CSS语法它已经变得多余了。
这一版能够对效果进行更为灵巧的定制,而且借助新增的命名空间事宜,也使插件开拓变得更随意马虎。
同时,jQuery UI项目也开始启动,这个新的套件是作为曾经盛行但已过期的Interface插件的替代项目而发布的。
jQuery UI中包含大量预定义好的部件(widget),以及一组用于构建高等元素(例如可拖放、拖拽、排序)的工具。

2010年2月,jQuery 1.4.2版发布,它新增了有关事宜委托的两个方法:delegate()和undelegate()。
delegate()用于替代1.3.2中的live()方法。
这个方法比live()来的方便,而且也可以达到动态添加事宜的浸染。
比如给表格的每个td绑定hover事宜

特点

1.动态殊效

2.AJAX

3.通过插件来扩展

4.方便的工具 - 例如浏览器版本判断

5.渐进增强

6.链式调用

7.多浏览器支持,支持Internet Explorer6.0+、Opera9.0+、Firefox2+、Safari2.0+、Chrome1.0+(在2.0.0中取消了对Internet Explorer6,7,8的支持)

历史版本

jQuery 1.0

(2006年8月):该库的第一个稳定版本,已经具有了对CSS选择符、事宜处理和AJAX交互的稳健支持。

jQuery 1.1

(2007年1月):这一版大幅简化了API。
许多较少利用的方法被合并,减少了须要节制和解释的方法数量。

jQuery 1.1.3

(2007年7月):这次小版本变革包含了对jQuery选择符引擎实行速率的显著提升。
从这个版本开始,jQuery的性能达到了Prototype、Mootools以及Dojo等同类JavaScript库的水平。

jQuery 1.2

(2007年9月):这一版去掉了对XPath选择符的支持,缘故原由是相对付CSS语法它已经变得多余了。
这一版能够支持对效果的更灵巧定制,而且借助新增的命名空间事宜,也使插件开拓变得更随意马虎。

jQuery UI(2007年9月):这个新的插件套件是作为曾经盛行但已过期的Interface插件的替代项目而发布的。
jQuery UI中包含大量预定义好的部件(widget),以及一组用于构建高等元素(例如可拖放的界面元素)的工具。

jQuery 1.2.6

(2008年5月):这一版紧张是将Brandon Aaron开拓的盛行的Dimensions插件的功能移植到了核心库中。

jQuery 1.3

(2009年1月):这一版利用了全新的选择符引擎Sizzle,库的性能也因此有了极大提升。
这一版正式支持事宜委托特性。

jQuery 1.3.2

(2009年2月):这次小版本升级进一步提升了库的性能,例如改进了:visible/:hidden选择符、.height()/.width()方法的底层处理机制。
其余,也支持查询的元素按文档顺序返回。

jQuery 1.4

(2010年1月14号):对代码库进行了内部重写组织,开始建立一些风格规范。
老的core.js文件被分为attribute.js,css.js,data.js,manipulation.js,traversing.js和queue.js;CSS和attribute的逻辑分离。

主要变革:

1. Ajax重写

Ajax模块完备进行了重写。
新增一个jXHR工具,为不同浏览器内置的XMLHttpRequest供应了同等的超集。
对付XMLHttpRequest之外的传输机制,比如JSONP要求,jXHR工具也可以进行处理。
(详情可以拜会:jQuery.ajax文档)

此外,系统的可扩展性大大增强,可以附加各种数据处理器、过滤器和传输机制,为开拓新的Ajax插件供应了方便。

2. 延迟工具

延迟工具(Deferred Object,jQuery.Deferred工具)是一个可链接的(chainable)实用工具工具,实现了Promise接口,可以在回调行列步队中注册多个回调、调用回调行列步队并转发任何同步/异步函数的成败状态。
正如Using Deferreds in jQuery 1.5一文中解释的,其结果是在jQuery中能够将依赖于某个任务(事宜)结果的逻辑与任务本身解耦了。
这一点在JavaScript中实在并不新鲜,Mochikit和Dojo等已经实现有些日子了。
由于jQuery 1.5的Ajax模块内置利用了延迟工具,因此通过jQuery编写Ajax程序将自动得到这一功能。

开拓职员借此可以利用无法立即得到的返回值(如异步Ajax要求的返回结果),而且第一次能够附加多个事宜处理器。

例如,利用了新的jQuery内部Ajax API就可以实现下面的代码了:

// Assign handlers immediately after making the request,// and remember the jxhr object for this request var jxhr = $.ajax({ url: "example.php" }) .success(function() { alert("success"); }) .error(function() { alert("error"); }) .complete(function() { alert("complete"); });// perform other work here ... // Set another completion function for the request above jxhr.complete(function(){ alert("second complete"); });

此外,利用jQuery.Deferred还可以开拓自己的延迟工具。
更多详情拜会:延迟工具文档。

3. jQuery.sub()

jQuery 1.5供应了一种创建和修正jQuery副本的办法。
可以用来添加不向外部公开的方法,或者对jQuery的某些方法进行重新定义以供应新功能,或者供应更好的封装、避免名称空间冲突。
当然,也可以用来开拓插件,但Resig强烈建议在开拓插件之前,先考虑jQuery UI widget工厂。

值得把稳的是,sub函数并不供应真正的隔离,所有方法、数据、调用仍旧依赖jQuery本身来支持。

4. 遍历性能提高

在新版本中.children(),.prev(),.next()几个常用的遍历函数性能有了显著提高。

5. 内部开拓系统

John Resig还特殊提到了jQuery团队内部开拓系统的两点改变:一是做事器端用Node.js更换了老的Java/Rhino系统,使得团队可以专注于JavaScript环境的新变革;二是所用的代码优化程序从Google Closure切换到UglifyJS,新工具的压缩效果非常令人满意。

利用方法

jQuery可以下载利用,有两个版本的 jQuery 可供下载

Production version - 用于实际的网站中,已被精简和压缩。

Development version - 用于测试和开拓(未压缩,是可读的代码)

jQuery 1.8.0版时压缩前后的比拟

插件机制

jQuery的官方插件是jQuery UI。
开拓者可以任意扩展jQuery的函数库或者按照自己的需求开拓UI组件。
网上已经有数以万计的jQuery插件,覆盖各种各样的需求。
例如Ajax赞助、数据表格、动态列表、XML工具、拖曳、cookie处理、弹出层等等。
jQuery 的文档解释很全,而且各种运用也说得很详细,同时还有许多成熟的插件可供选择,例如ComponentOne Studio for ASP NET Wijmo.

随着jQuery插件在网站培植过程中的利用率不断的增加,以是有必要跟进时期步伐开拓出一些新的插件/代码片段,以此来巩固并提高前端用户体验,将用户体验提升到一个新的高度。
个中包括Flat jQuery Price Slider、Gmaps jQuery Map Plugin 、FormChimp——MailChimp Ajax plugin for jQuery 等。

控件

jQuery Gantt控件是一个基于原生HTML5/jQuery,功能丰富的控件,该控件真正实现了跨平台,在许多设备和浏览器中无缝的运行。

利用项目甘特图中内置的调度,依赖等功能实现任务分层列表的可视化。

利用资源甘特图实现一个资源利用视图。

利用基于API的jQuery或者基于API的MVC可帮您轻松地安装甘特图并加快运用速率。

可与诸如KnockOut(KO),jQuery.tmpl等盛行的jQuery模式一同利用。

标签:

相关文章

大数据BU,引领未来商业变革的新引擎

随着科技的飞速发展,大数据已经渗透到了各行各业,成为推动企业创新、提升竞争力的关键因素。大数据BU(大数据业务单元)作为企业数字化...

Web前端 2024-12-15 阅读0 评论0

若何把php文件技巧_php的文件上传

这里首先声明一下这一章的内容比较多,比较难,你要抱着和自己去世磕的态度。细微之处不放过,多敲多练是王道。 学习就像爬山,得一步一步...

Web前端 2024-12-15 阅读0 评论0

图章艺术,传承与创新的历史见证

图章,作为我国传统艺术的重要组成部分,承载着丰富的历史文化内涵。从古代的官印、私印到现代的签名章,图章在各个历史时期都扮演着举足轻...

Web前端 2024-12-15 阅读0 评论0

rabbitmq削峰php技巧_RabbitMQ 专题1 削峰限流

流量洪峰举个栗子:双11、618购物节,会涌现特定时间点抢购某种商品的情形,瞬时流量巨大。用户端发起下单操作,做事端包括库存检讨,...

Web前端 2024-12-15 阅读0 评论0