jQuery使用方法简介

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

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

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

jQuery 1.8.0版时压缩前后的对比

文件

行数

大小

jquery-1.8.0.min.js

2

91KB

jquery-1.8.0.js

9228

254KB

这两个版本都可以从 jQuery.com官网下载。

也可以从多个公共服务器中选择引用。把jQuery存储在CDN公共库上可加快网站载入速度,CDN公共库是指将常用的JS库存放在CDN节点,以方便广大开发者直接调用。与将JS库存放在服务器单机上相比,CDN公共库更加稳定、高速。国外的有GoogleMicrosoft等多家公司给jQuery提供CDN服务,国内由新浪云计算(SAE) 、百度云(BAE)等提供

下面就介绍几个相对来说比较稳定的CDN。并且有jquery1.1至2.0所有版本下载分享

Google CDN

<script type="text/javascript"src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>

提示:通过 Google CDN 来获得最新可用的版本:

如果您观察上面的 Google URL - 在 URL 中规定了 jQuery 版本 (1.8.0)。如果您希望使用最新版本的 jQuery,也可以从版本字符串的末尾(比如本例 1.8)删除一个数字,谷歌会返回 1.8 系列中最新的可用版本(1.8.0、1.8.1 等等),或者也可以只剩第一个数字,那么谷歌会返回 1 系列中最新的可用版本(从 1.1.0 到 1.9.9)。

Microsoft CDN

<script type="text/javascript"src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-2.1.0.min.js"></script>

提示:使用谷歌或微软的 jQuery,有一个很大的优势:

许多用户在访问其他站点时,已经从谷歌或微软加载过 jQuery。所有结果是,当他们访问您的站点时,会从缓存中加载 jQuery,这样可以减少加载时间。同时,大多数 CDN 都可以确保当用户向其请求文件时,会从离用户最近的服务器上返回响应,这样也可以提高加载速度。

新浪 CDN

<script type="text/javascript"src="http://libs.baidu.com/jquery/2.0.3/jquery.min.js"></script>

百度 CDN 

<script type="text/javascript"src="http://libs.baidu.com/jquery/2.0.3/jquery.min.js"></script>

为了保险起见,当无法从CDN服务器上获取jQuery时,则使用本地jQuery

<script type="text/javascript">window.jQuery||document.write('<scriptsrc="//localhost/jQuery/jquery-2.1.0.min.js"><\/script>');</script>

在Wordpress主题中使用的方法为

<script type="text/javascript">window.jQuery||document.write('<scripttype="text/javascript"src="<?phpechoget_template_directory_uri();?>/jquery.min.js">\x3C/script>')</script>

注意事项

1、Wordpress内置jQuery库,其末尾防止JS库冲突而加入的jQuery.noConflict()使得主题中所有jQuery代码都要做一些小修改,更可能导致一些插件效果失效。wordpress建议下载官方jQuery-Min库放到当前主题目录下调用,不要使用wp-includes里面的库。

2、Google CDN库的地址采用了协议相对路径,它可以很好的解决https引起的一些问题,具体可以看Paul Irish的介绍,当然你依旧可以使用带“http:”的路径。

3、许多网站都采用Google CDN提供的jQuery库,使用它可以得到出色的缓存效果。

4、把jQuery代码统统放到页面底部可以提高载入速度。

5、使用HTML5重构的页面可省略掉 type="text/javascript"。

6、推荐使用国内CDN公共库,速度更快,稳定性更高。

实例

为元素添加单击

<html>

<head>

<script>

$(document).ready(function(){
$("p").click(function(){$(this).hide();});});

</script>

</head>

<body>

<p>Ifyouclickonme,Iwilldisappear.</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/" 开头的元素。

更多详细信息请参见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 事件。

集合操作

$(function(){

var tbody = "";
  //------------遍历对象 .each的使用-------------
  //对象语法JSON数据格式(当服务器端回调回来的对象数据格式是json数据格式,必须保证JSON的格式要求,回调的对象必须使用eval函数进行转化(否则将得不到Object)。本文不作详细介绍服务器端回调的数据问题,我们将直接自定义对象)
  var obj =[{"name":"项海军","password":"123456"}];
  $("#result").html("------------遍历对象 .each的使用-------------");
  alert(obj);//是个object元素
  //下面使用each进行遍历
  $.each(obj,function(n,value) {
  alert(n+' '+value);
  var trs = "";
  trs += "<tr><td>" + value.name +"</td> <td>" + value.password +"</td></tr>";
  tbody += trs;
  });

$("#project").append(tbody);
  });

动态特效

较快速度的淡入

$("#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部分。

AJAX

jQuery 提供多个与 AJAX 有关的方法

通过 jQuery AJAX 方法,您能够使用 HTTP Get 和 HTTP Post 从远程服务器上请求文本、HTML标准通用标记语言下的一个应用)、XML(标准通用标记语言下的一个子集) 或 JSON - 同时您能够把这些外部数据直接载入网页的被选元素中。

  • jQuery - AJAX load() 方法

jQuery load() 方法是简单但强大的 AJAX 方法。

load() 方法从服务器加载数据,并把返回的数据放入被选元素中。

语法:

$(
selector
).load(
URL,data,callback
);

必需的 URL 参数规定您希望加载的 URL。

可选的 data 参数规定与请求一同发送的查询字符串键/值对集合。

可选的 callback 参数是 load() 方法完成后所执行的函数名称。

jQuery - AJAX get() 和 post() 方法

jQuery get() 和 post() 方法用于通过 HTTP GET 或 POST 请求从服务器请求数据。

两种在客户端和服务器端进行请求-响应的常用方法是:GET 和 POST。

  • GET - 从指定的资源请求数据

  • POST - 向指定的资源提交要处理的数据

GET 基本上用于从服务器获得(取回)数据。注释:GET 方法可能返回缓存数据。

POST 也可用于从服务器获取数据。不过,POST 方法不会缓存数据,并且常用于连同请求一起发送数据。

  • jQuery $.get() 方法

$.get() 方法通过 HTTP GET 请求从服务器上请求数据。

语法:

$.get(URL,callback);

必需的 URL 参数规定您希望请求的 URL。

可选的 callback 参数是请求成功后所执行的函数名。

  • jQuery $.post() 方法

$.post() 方法通过 HTTP POST 请求从服务器上请求数据。

语法:

$.post(
URL,data,callback
);

必需的 URL 参数规定您希望请求的 URL。

可选的 data 参数规定连同请求发送的数据。

可选的 callback 参数是请求成功后所执行的函数名。

  • 使用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块后面的脚本(另一个线程)

插件机制

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,功能丰富的控件,该控件真正实现了跨平台,在许多设备和浏览器中无缝的运行。

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

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

  3. 使用基于API的jQuery或者基于API的MVC可帮您轻松地安装甘特图并加快应用速度。

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


案例:
<script language="javascript" type="text/javascript"> 
$(document).ready(function(){ 
$("ul.menu li:first-child").addClass("current"); 
$("div.content").find("div.layout:not(:first-child)").hide(); 
$("div.content div.layout").attr("id", function(){return idNumber("No")+ $("div.content div.layout").index(this)}); 
$("ul.menu li").click(function(){ 
var c = $("ul.menu li"); 
var index = c.index(this); 
var p = idNumber("No"); 
show(c,index,p); 
}); 
function show(controlMenu,num,prefix){ 
var content= prefix + num; 
$('#'+content).siblings().hide(); 
$('#'+content).show(); 
controlMenu.eq(num).addClass("current").siblings().removeClass("current"); 
}; 
function idNumber(prefix){ 
var idNum = prefix; 
return idNum; 
}; 
}); 
</script> 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值