jQuery

来源:互联网 发布:2016淘宝对刷单的态度 编辑:程序博客网 时间:2024/06/05 11:16

jquery

Jquery是继prototype之后又一个优秀的Javascript框架。它是轻量级的js库 ,它兼容CSS3,还兼容各种浏览器(IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+),jQuery2.0及后续版本将不再支持IE6/7/8浏览器。jQuery使用户能更方便地处理HTML documents、events、实现动画效果,并且方便地为网站提供AJAX交互。jQuery还有一个比较大的优势是,它的文档说明很全,而且各种应用也说得很详细,同时还有许多成熟的插件可供选择。jQuery能够使用户的html页面保持代码和html内容分离,也就是说,不用再在html里面插入一堆js来调用命令了,只需定义id即可。

目 录

1简介

2特点

3使用

4实例

  1. 4.1 选择器
  2. 4.2 事件处理
  3. 4.3 动态特效

5AJAX

6插件机制

7控件

8历史版本

1简介

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让开发者编写插件。其模块化的使用方式使开发者可以很轻松的开发出功能强大的静态或动态网页。

2特点

jQuery包含以下特点:
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的支持)

3使用

是一个单独的javascript文件,可以保存到本地或者服务器直接引用,也可以从多个公共服务器中选择引用。有Media Temple、Google、Microsoft等多家公司给jQuery提供CDN服务,比较常用的引用地址如下
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js"></script>
jQuery 版本:截止2013年6月的版本是2.0.3 和1.10.2,由于2.0.3对IE 6, 7,  8的兼容性不好 ie  浏览器多使用1.10.2,其它浏览器多使用2.0.3.
<!--[if lt IE 9]>    <script src="jquery-1.10.2.js"></script><![endif]-->
<!--[if gte IE 9]><!-->    <script src="jquery-2.0.3.js"></script><!--<![endif]-->
最常使用的jQuery基础方法是.ready()方法
$(document).ready(function(){
//script goes here
});
或者其简写
$(function(){
//script goes here
});
当dom加载完就可以执行(比window.onload更早)。在同一个页面里可以多次出现.ready()

4实例

为元素添加单击事件,发生对象隐藏效果
1
2
3
4
5
6
7
8
9
10
11
12
13
<html>
<head>
<scripttype="text/javascript"src="jquery.js"></script>
<scripttype="text/javascript">
${$("p").click(function(){
$(this).hide();
}););
</script>
</head>
<body>
<p>If you click on me, I will disappear.</p>
</body>
</html>
结果:隐藏页面内的<p>标签

选择器

jQuery 使用 sizzle引擎,支持css选取,Xpath选取等方式。
$("p") 选取全部 <p> 元素。
$("p.intro") 选取所有包含class为"intro"的 <p> 元素。
$("#demo") 选取 id为"demo" 的元素。
$("[href]") 选取所有带有 href 属性的元素。
$("[href='#']") 选取所有带有 href 值等于 "#" 的元素。
$("[href!='#']") 选取所有带有 href 值不等于 "#" 的元素。
$("[href$='.jpg']") 选取所有 href 值以 ".jpg" 结尾的元素。
$("[href^='/imgaes/']") 选取所有 href 值以 /imgaes/" 开头的元素。
$("p.intro")    所有 class="intro" 的 <p> 元素 元素选择器
$(".intro")    所有 class="intro" 的元素 类选择器
$("#intro")    id="intro" 的第一个元素 id 选择器
更多详细信息请参见jQuery API的Selectors部分。

事件处理

直接绑定指定事件,事件类型即方法名,支持click、focus、blur、submit等。
$("#button").click(function(){
//script goes here
});
用on来绑定事件,off来解绑事件,第一个参数为事件名,第二个参数为回调函数。1.7.2版本开始支持。
$("#button").on('click',function(){
//script goes here
});
在1.7.1或更早版本,需要用bind/unbind(常规绑定),live/die(预绑定)来替代on/off。
更多详细信息请参见jQuery API的Events部分。
jQuery还支持如下方法:
.blur() 表单元素失去焦点。
.change() 表单元素的值发生变化
.click() 鼠标单击
.dblclick() 鼠标双击
.focus() 表单元素获得焦点
.focusin() 子元素获得焦点
.focusout() 子元素失去焦点
.hover() 同时为mouseenter和mouseleave事件指定处理函数
.keydown() 按下键盘(长时间按键,只返回一个事件)
.keypress() 按下键盘(长时间按键,将返回多个事件)
.keyup() 松开键盘
.load() 元素加载完毕
.mousedown() 按下鼠标
.mouseenter() 鼠标进入(进入子元素不触发)
.mouseleave() 鼠标离开(离开子元素不触发)
.mousemove() 鼠标在元素内部移动
.mouseout() 鼠标离开(离开子元素也触发)
.mouseover() 鼠标进入(进入子元素也触发)
.mouseup() 松开鼠标
.ready() DOM加载完成
.resize() 浏览器窗口的大小发生改变
.scroll() 滚动条的位置发生变化
.select() 用户选中文本框中的内容
.submit() 用户递交表单
.toggle() 根据鼠标点击的次数,依次运行多个函数
.unload() .当用户离开页面时,会发生 unload 事件。
[1]

动态特效

$("#msg").show("fast");
$("#msg").hide("slow");
$("#msg").fadeIn();
$("#msg").fadeOut();
淡入淡出
$(selector).fadeIn(speed,callback);
可选的 speed 参数规定效果的时长。它可以取以下值:"slow"、"fast" 或毫秒。
可选的 callback 参数是 fading 完成后所执行的函数名称。
滑动
$(selector).slideDown(speed,callback);
可选的 speed 参数规定效果的时长。它可以取以下值:"slow"、"fast" 或毫秒。
可选的 callback 参数是滑动完成后所执行的函数名称。
动画
$(selector).animate({params},speed,callback);
必需的 params 参数定义形成动画的 CSS 属性。
可选的 speed 参数规定效果的时长。它可以取以下值:"slow"、"fast" 或毫秒。
可选的 callback 参数是动画完成后所执行的函数名称。
以上代码实现一个id为Msg的jQuery对象的渐入和淡出。函数接受的参数除了快慢等,还可以接收整型,作为渐入或淡出的完成时间,单位为ms。更多详细信息请参见jQuery API的Effects部分。

5AJAX

使用jquery实现ajax方式如下
$.ajax({
async : false,
type: "POST",
url: "example.php",
data: "name=John&location=Boston"
}).done(function(msg){
alert("Data Saved: " + msg);
}).fail(function(xmlHttpRequest,statusText,errorThrown) {
alert(
"Your form submission failed.\n\n"
+ "XML Http Request: " + JSON.stringify(xmlHttpRequest)
+ ",\nStatus Text: " + statusText
+ ",\nError Thrown: " + errorThrown);
});
这个例子发送name=John和location=Boston两个数据给服务端的example.php,请求成功后会提示用户。
更多详细信息请参见jQuery API的Ajax部分。
async默认的设置值为true,这种情况为异步方式,就是说当    ajax发送请求后,在等待server端返回的这个过程中,前台会继续执行ajax块后面的脚本,直到server端返回正确的结果才会去执行success,也就是说这时候执行的是两个线程,ajax块发出请求后一个线程和ajax块后面的脚本(另一个线程)

6插件机制

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

7控件

jQuery Gantt控件是一个基于原生HTML5/jQuery,功能丰富的控件,该控件真正实现了跨平台,在许多设备和浏览器中无缝的运行。
  1. 使用项目甘特图中内置的调度,依赖等功能实现任务分层列表的可视化。
  2. 使用资源甘特图实现一个资源利用视图。
  3. 使用基于API的jQuery或者基于API的MVC可帮您轻松地安装甘特图并加快应用速度。
  4. 可与诸如KnockOut(KO),jQuery.tmpl等流行的jQuery模式一同使用。
原创粉丝点击