JQuery入门、手册及教程
- 格式:doc
- 大小:346.32 KB
- 文档页数:34
浅谈JQUREY(摘自/softwave/article/details/2070815)
JQUERY手册(第七页,附教程)
Jquery是继prototype之后又一个优秀的Javascript框架。
对prototype我使用不多,简单了解过。
但使用上jquery 之后,马上被她的优雅吸引住了。
有人使用这样的一比喻来比较prototype和jquery:prototype就像Java,而jquery 就像ruby.实际上我比较喜欢java(少接触Ruby罢了)但是jquery的简单的实用的确有相当大的吸引力啊!在项目里我把jquery作为自已唯一的框架类包。
使用其间也有一点点心得,其实这些心得,在jquery的文档上面也可能有讲,不过还是记下来,以备忘罢。
一,找到你了!
还记得$()这个东西吧?prototype还是DWR都使用了这个函数代替document.getElementById()。
没错,jquery也跟风了。
为达到document.getElementById()的目的,jquery是这样写的:
Java代码
1.var someElement = $("#myId");
[java]view plaincopyprint?
1.var someElement = $("#myId");
看起来比其他两个框架的要多了一个#,好,看看下面的用法:
Java代码
1.$("div p");(1)
2.$("div.container")(2)
3.$("div #msg");(3)
4.$("table a",context);(4)
[java]view plaincopyprint?
1.$("div p");(1) $("div.container")(2) $("div #msg");(3) $("table a",context);(4)
在prototype里看过这样的写法吗?第一行代码得到所有<div>标签下的<p>元素。
第二行代码得到class 为container的<div>元素,第三行代码得到<div>标签下面id为msg的元素。
第四行代码得到context为上下文的table里面所有的连接元素。
如果你熟悉CSS,Xpath,你会觉得这些写法很眼熟!对了。
正是。
看出奥妙了吧。
jquery就是通过这样的方式来找到Dom对象里面的元素。
跟CSS的选择器相类似。
二,Jquery对象?
jquery提供了很多便利的函数,如each(fn),但是使用这些函数的前提是:你使用的对象是Jquer对象。
使一个Dom对象成为一个Jquery对象很简单,通过下面一些方式(只是一部分):
Java代码
1.var a = $("#cid");(1)
2.var b = $("<p>hello</p>");(2)
3.var c = document.createElement("table"); var tb = $(c);
[java]view plaincopyprint?
1.var a = $("#cid");(1) var b = $("<p>hello</p>");(2) var c = document.createElement("table"); var tb = $(
c);
三,代替body标签的onload
这个惯例,也许是除了$()之外,用得最多的地方了。
下面一段代码:
Java代码
1.$(document).ready(function(){
2. alert("hello");
3.});(1)
4.
5.<body onload="alert('hello');">(2)
[java]view plaincopyprint?
1.$(document).ready(function(){ alert("hello"); });(1) <body onload="alert('hello');">(2)
上面两段代码是等价的。
但代码1的好处是做到表现和逻辑分离。
并且可以在不同的js文件中做相同的操作,即$(document).ready (fn)可以在一个页面中重复出现,而不会冲突。
基本上Jqeury的很多plugin都是利用这个特性,正因为这个特性,多个plugin共同使用起来,在初始化时不会发生冲突。
不管怎么说,这个惯例可以分离javascript与HTML。
推荐使用。
四,事件机制
我大量使用的事件可能就是button的onclick了。
以前习惯在input 元素上写onclick = "fn()",使用jquery可以使javascript代码与html代码分离,保持HTML的清洁,还可以很轻松地绑定事件,甚至你可以不知道“事件”这个名词。
Java代码
1.$(document).ready(function(){
2. $("#clear").click(function(){
3. alert("i am about to clear the table");
4. });
5. $("form[0]").submit(validate);
6.});
7.function validate(){
8.//do some form validation
9.}
[java]view plaincopyprint?
1.$(document).ready(function(){ $("#clear").click(function(){ alert("i am about to clear the table");
}); $("form[0]").submit(validate); }); function validate(){ //do some form validation }
五,同一函数实现set&get
Java代码
1.$("#msg").html();
2.$("#msg").html("hello");
[java]view plaincopyprint?
1.$("#msg").html(); $("#msg").html("hello");
上面两行代码,调用了同样的函数。
但结果却差别很大。
第一行是返回指定元素的HTML值,第二行则是将hello这串字符设置到指定元素中。
jquery的函数大部分有这样的特性。
六,ajax
这是一个ajax横行的时代。
多少人,了不了解ajax的都跟着用上一把。
呵。
使用jquery实现ajax同样简单异常
Java代码
1.$.get("search.do",{id:1},rend);
2.function rend(xml){
3. alert(xml);
4.} (1)
5.$.post("search.do",{id:1},rend);
6.function rend(xml){
7. alert(xml);
8.} (2)
9.
10.$("#msg").ajaxStart(function(){
11.this.html("正在加载。
");
12.});(3)
13.$("#msg").ajaxSuccess(function(){
14.this.html("加载完成!");
15.});(4)
[java]view plaincopyprint?
1.$.get("search.do",{id:1},rend); function rend(xml){ alert(xml); } (1) $.post("search.do",{id:1},rend); fu
nction rend(xml){ alert(xml); } (2) $("#msg").ajaxStart(function(){ this.html("正在加载。
"); });(3) $("#msg").ajaxSuccess(function(){ this.html("加载完成!"); });(4)
这些都是较常用的方法,get和post用法一样。
第一个参数是异步请求的url,第二个为参数,第三个回调方法。
3,4的方法会在指定的Dom对象上绑定响应ajax执行的事件。
当然,jquery的AJAX相关的函数不仅是这些,有兴趣可以去研究再多。
七,渐入淡出
Java代码
1.$("#msg").fadeIn("fast");
2.$("#msg").fadeOut("slow");
[java]view plaincopyprint?
1.$("#msg").fadeIn("fast"); $("#msg").fadeOut("slow");
没错,上面两行代码已经分别实现了一个id为Msg的jquery对象的渐入和淡出。
做一个像Gmail一样的动态加载通知条,用jquery就那么简单。
两个函数接受的参数除了快慢等,还可以接收整型,作为渐入或淡出的完成时间,单位为MS。
八,plugin
这也是一个插件的时代。
jquery插件给我的感觉清一色的清洁,简单。
如Jtip,要使用它的功能,只需要在你的元素的class上加上Jtip,并引入jtip.js及其样式即可以了。
其他事情插件全包。
我喜欢jquery的一个重要原因是发现她已经有了很多很好,很精彩的插件。
写得很烂。
可能大家看不出jquery的好处。
嗯,光听是没用的,试用一下吧。
你会发觉很有趣。
暂时告一段落吧。
待有新的发现再来分享。
加一些Jquery的资源:
/index.xml 很好的API查询站点
/demo/thickbox/ 知道lightBox吧,看看Jquery是怎样实现相同的东西
/blogstuff/js/jtip/ Jtip,实用的提示工具
/plugins/ 很多牛的插件。
/ jquery 的15天教程
jQuery是一个强大的ajax类库,对ajax和javascript进行了很好的封装,值得学习,附jQuery中文手册下载和jQuery中文api地址
jQuery官方网站:
/
jQuery英文文档
/
jQuery英文帮助
/Tutorials
附jQuery中文手册一部,jQuery中文api地址,中文菜鸟学习地址。
/api/cn/api_11.xml
/doku.php
jQuery中文手册下载
/download.php?filename=jquery.chm
用JSEclipse 构建JavaScript 应用程序:
/developerworks/cn/edu/os-dw-os-eclipse-jseclipse.html?S_TACT=105AGX52&S_CMP=t echcsdn
jQuery参考手册
jQuery 选择器
选择器实例选取
* $("*") 所有元素
#id $("#lastname") id="lastname" 的元素
.class $(".intro") 所有class="intro" 的元素
element $("p") 所有<p> 元素
.class.class $(".intro.demo") 所有class="intro" 且class="demo" 的元素
:first $("p:first") 第一个<p> 元素
:last $("p:last") 最后一个<p> 元素
:even $("tr:even") 所有偶数<tr> 元素
:odd $("tr:odd") 所有奇数<tr> 元素
:eq(index) $("ul li:eq(3)") 列表中的第四个元素(index 从0 开始)
:gt(no) $("ul li:gt(3)") 列出index 大于3 的元素
:lt(no) $("ul li:lt(3)") 列出index 小于3 的元素
:not(selector) $("input:not(:empty)") 所有不为空的input 元素
:header $(":header") 所有标题元素<h1> - <h6>
:animated 所有动画元素
:contains(text) $(":contains('W3School
包含指定字符串的所有元素
')")
:empty $(":empty") 无子(元素)节点的所有元素
:hidden $("p:hidden") 所有隐藏的<p> 元素
:visible $("table:visible") 所有可见的表格
s1,s2,s3 $("th,td,.intro") 所有带有匹配选择的元素[attribute] $("[href]") 所有带有href 属性的元素[attribute=value] $("[href='#']") 所有href 属性的值等于"#" 的元素[attribute!=value] $("[href!='#']") 所有href 属性的值不等于"#" 的元素[attribute$=value] $("[href$='.jpg']") 所有href 属性的值包含".jpg" 的元素:input $(":input") 所有<input> 元素
:text $(":text") 所有type="text" 的<input> 元素
:password $(":password") 所有type="password" 的<input> 元素:radio $(":radio") 所有type="radio" 的<input> 元素
:checkbox $(":checkbox") 所有type="checkbox" 的<input> 元素:submit $(":submit") 所有type="submit" 的<input> 元素:reset $(":reset") 所有type="reset" 的<input> 元素
:button $(":button") 所有type="button" 的<input> 元素
:image $(":image") 所有type="image" 的<input> 元素
:file $(":file") 所有type="file" 的<input> 元素
:enabled $(":enabled") 所有激活的input 元素
:disabled $(":disabled") 所有禁用的input 元素
:selected $(":selected") 所有被选取的input 元素
:checked $(":checked") 所有被选中的input 元素
jQuery 事件方法
事件方法会触发匹配元素的事件,或将函数绑定到所有匹配元素的某个事件。
触发实例:
$("button#demo").click()
上面的例子将触发id="demo" 的button 元素的click 事件。
绑定实例:
$("button#demo").click(function(){$("img").hide()})
上面的例子会在点击id="demo" 的按钮时隐藏所有图像。
change() 触发、或将函数绑定到指定元素的change 事件
click() 触发、或将函数绑定到指定元素的click 事件
dblclick() 触发、或将函数绑定到指定元素的double click 事件
delegate() 向匹配元素的当前或未来的子元素附加一个或多个事件处理
器
die() 移除所有通过live() 函数添加的事件处理程序。
error() 触发、或将函数绑定到指定元素的error 事件
event.isDefaultPrevented() 返回event 对象上是否调用了event.preventDefault()。
event.pageX 相对于文档左边缘的鼠标位置。
event.pageY 相对于文档上边缘的鼠标位置。
event.preventDefault() 阻止事件的默认动作。
event.result 相对于文档上边缘的鼠标位置。
event.target 触发事件的DOM 元素。
event.timeStamp 该属性返回从1970 年1 月1 日到事件发生时的毫秒数。
event.type 描述事件的类型。
event.which 指示按了哪个键或按钮。
focus() 触发、或将函数绑定到指定元素的focus 事件
keydown() 触发、或将函数绑定到指定元素的key down 事件keypress() 触发、或将函数绑定到指定元素的key press 事件
keyup() 触发、或将函数绑定到指定元素的key up 事件
live() 触发、或将函数绑定到指定元素的load 事件
load() 触发、或将函数绑定到指定元素的load 事件
mousedown() 触发、或将函数绑定到指定元素的mouse down 事件mouseenter() 触发、或将函数绑定到指定元素的mouse enter 事件mouseleave() 触发、或将函数绑定到指定元素的mouse leave 事件mousemove() 触发、或将函数绑定到指定元素的mouse move 事件mouseout() 触发、或将函数绑定到指定元素的mouse out 事件mouseover() 触发、或将函数绑定到指定元素的mouse over 事件mouseup() 触发、或将函数绑定到指定元素的mouse up 事件
one() 向匹配元素添加事件处理器。
每个元素只能触发一次该处理
器。
jQuery 效果函数
jQuery 属性操作方法
下面列出的这些方法获得或设置元素的DOM 属性。
这些方法对于XML 文档和HTML 文档均是适用的,除了:html()。
jQuery CSS 操作函数
下面列出的这些方法设置或返回元素的CSS 相关属性。
jQuery Ajax 操作函数
jQuery 遍历函数
jQuery 遍历函数包括了用于筛选、查找和串联元素的方法。
函数描述
.add() 将元素添加到匹配元素的集合中。
.andSelf() 把堆栈中之前的元素集添加到当前集合中。
.children() 获得匹配元素集合中每个元素的所有子元素。
.closest() 从元素本身开始,逐级向上级元素匹配,并返回最先匹配的祖先元素。
.contents() 获得匹配元素集合中每个元素的子元素,包括文本和注释节点。
.each() 对jQuery 对象进行迭代,为每个匹配元素执行函数。
.end() 结束当前链中最近的一次筛选操作,并将匹配元素集合返回到前一次的状态。
.eq() 将匹配元素集合缩减为位于指定索引的新元素。
.filter() 将匹配元素集合缩减为匹配选择器或匹配函数返回值的新元素。
.find() 获得当前匹配元素集合中每个元素的后代,由选择器进行筛选。
.first() 将匹配元素集合缩减为集合中的第一个元素。
.has() 将匹配元素集合缩减为包含特定元素的后代的集合。
.is() 根据选择器检查当前的匹配元素集合,如果存在至少一个匹配元素,则返回true。
.last() 将匹配元素集合缩减为集合中的最后一个元素。
.map() 把当前匹配集合中的每个元素传递给一个函数,产生包含返回值的新的jQuery 对象。
.next() 获得匹配元素集合中每个元素紧邻的同辈元素。
.nextAll() 获得匹配元素集合中每个元素之后的所有同辈元素,由选择器进行筛选(可选)。
.nextUntil() 获得每个元素之后所有的同辈元素,直到遇到匹配选择器的元素为止。
.not() 从匹配元素集合中删除元素。
.offsetParent() 获得用于定位的第一个父元素。
.parent() 获得当前匹配元素集合中每个元素的父元素,由选择器筛选(可选)。
.parentsUntil() 获得当前匹配元素集合中每个元素的祖先元素,直到遇到匹配选择器的元素为止。
.prev() 获得匹配元素集合中每个元素紧邻的前一个同辈元素,由选择器筛选
jQuery 数据存储函数
<html>
<head>
<script type="text/javascript" src="jquery.js"></script> <script type="text/javascript">
$(document).ready(function(){
$("p").click(function(){
$(this).hide();
});
});
</script>
</head>
<body>
<p>If you click on me, I will disappear.</p>
</body>
</html>
jQuery 是一个“写的更少,但做的更多”的轻量级JavaScript 库。
基本上,您将学习到如何选取HTML 元素,以及如何对它们执行类似隐藏、移动以及操作其内容等任务。
您需要具备的基础知识
在您开始学习jQuery 之前,您应该对以下知识有基本的了解:
HTML
CSS
JavaScript
jQuery 库可以通过一行简单的标记被添加到网页中。
jQuery 库- 特性
jQuery 是一个JavaScript 函数库。
jQuery 库包含以下特性:
HTML 元素选取
HTML 元素操作
CSS 操作
HTML 事件函数
JavaScript 特效和动画
HTML DOM 遍历和修改
AJAX
Utilities
向您的页面添加jQuery 库
jQuery 库位于一个JavaScript 文件中,其中包含了所有的jQuery 函数。
可以通过下面的标记把jQuery 添加到网页中:
<head>
<script type="text/javascript" src="jquery.js"></script>
</head>
请注意,<script> 标签应该位于页面的<head> 部分。
基础jQuery 实例
下面的例子演示了jQuery 的hide() 函数,隐藏了HTML 文档中所有的<p> 元素。
实例
<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("button").click(function(){
$("p").hide();
});
});
</script>
</head>
<body>
<h2>This is a heading</h2>
<p>This is a paragraph.</p>
<p>This is another paragraph.</p>
<button type="button">Click me</button>
</body>
</html>
下载jQuery:下载。
库的替代
Google 和Microsoft 对jQuery 的支持都很好。
如果您不愿意在自己的计算机上存放jQuery 库,那么可以从Google 或Microsoft 加载CDN jQuery 核心文件。
使用Google 的CDN
<head>
<script type="text/javascript" src="/ajax/libs
/jquery/1.4.0/jquery.min.js"></script>
</head>
使用Microsoft 的CDN
<head>
<script type="text/javascript" src="/ajax/jquery
/jquery-1.4.min.js"></script>
</head>
通过jQuery,您可以选取(查询,query)HTML 元素,并对它们执行“操作”(actions)。
jQuery 语法实例
$(this).hide()
演示jQuery hide() 函数,隐藏当前的HTML 元素。
$("#test").hide()
演示jQuery hide() 函数,隐藏id="test" 的元素。
$("p").hide()
演示jQuery hide() 函数,隐藏所有<p> 元素。
$(".test").hide()
演示jQuery hide() 函数,隐藏所有class="test" 的元素。
jQuery 语法
jQuery 语法是为HTML 元素的选取编制的,可以对元素执行某些操作。
基础语法是:$(selector).action()
美元符号定义jQuery
选择符(selector)“查询”和“查找” HTML 元素
jQuery 的action() 执行对元素的操作
示例
$(this).hide() - 隐藏当前元素
$("p").hide() - 隐藏所有段落
$("p.test").hide() - 隐藏所有class="test" 的段落
$("#test").hide() - 隐藏所有id="test" 的元素
提示:jQuery 使用的语法是XPath 与CSS 选择器语法的组合。
在本教程接下来的章节,您将学习到更多有关选择器的语法。
文档就绪函数
您也许已经注意到在我们的实例中的所有jQuery 函数位于一个document ready 函数中:
$(document).ready(function(){
--- jQuery functions go here ----
});
这是为了防止文档在完全加载(就绪)之前运行jQuery 代码。
如果在文档没有完全加载之前就运行函数,操作可能失败。
下面是两个具体的例子:
试图隐藏一个不存在的元素
获得未完全加载的图像的大小
选择器允许您对元素组或单个元素进行操作。
jQuery 选择器
在前面的章节中,我们展示了一些有关如何选取HTML 元素的实例。
关键点是学习jQuery 选择器是如何准确地选取您希望应用效果的元素。
jQuery 元素选择器和属性选择器允许您通过标签名、属性名或内容对HTML 元素进行选择。
选择器允许您对HTML 元素组或单个元素进行操作。
在HTML DOM 术语中:
选择器允许您对DOM 元素组或单个DOM 节点进行操作。
jQuery 元素选择器
jQuery 使用CSS 选择器来选取HTML 元素。
$("p") 选取<p> 元素。
$("p.intro") 选取所有class="intro" 的<p> 元素。
$("p#demo") 选取id="demo" 的第一个<p> 元素。
jQuery 属性选择器
jQuery 使用XPath 表达式来选择带有给定属性的元素。
$("[href]") 选取所有带有href 属性的元素。
$("[href='#']") 选取所有带有href 值等于"#" 的元素。
$("[href!='#']") 选取所有带有href 值不等于"#" 的元素。
$("[href$='.jpg']") 选取所有href 值以".jpg" 结尾的元素。
jQuery CSS 选择器
jQuery CSS 选择器可用于改变HTML 元素的CSS 属性。
下面的例子把所有p 元素的背景颜色更改为红色:
实例
$("p").css("background-color","red");
更多的选择器实例
jQuery 是为事件处理特别设计的。
jQuery 事件函数
jQuery 事件处理方法是jQuery 中的核心函数。
事件处理程序指的是当HTML 中发生某些事件时所调用的方法。
术语由事件“触发”(或“激发”)经常会被使用。
通常会把jQuery 代码放到<head>部分的事件处理方法中:
实例
<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("button").click(function(){
$("p").hide();
});
});
</script>
</head>
<body>
<h2>This is a heading</h2>
<p>This is a paragraph.</p>
<p>This is another paragraph.</p>
<button>Click me</button>
</body>
</html>
在上面的例子中,当按钮的点击事件被触发时会调用一个函数:
$("button").click(function() {..some code... } )
该方法隐藏所有<p> 元素:
$("p").hide();
单独文件中的函数
如果您的网站包含许多页面,并且您希望您的jQuery 函数易于维护,那么请把您的jQuery 函数放到独立的.js 文件中。
当我们在教程中演示jQuery 时,会将函数直接添加到<head> 部分中。
不过,把它们放到一个单独的文件中会更好,就像这样(通过src 属性来引用文件):
实例
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="my_jquery_functions.js"></script>
</head>
jQuery 名称冲突
jQuery 使用$ 符号作为jQuery 的简介方式。
某些其他JavaScript 库中的函数(比如Prototype)同样使用$ 符号。
jQuery 使用名为noConflict() 的方法来解决该问题。
var jq=jQuery.noConflict(),帮助您使用自己的名称(比如jq)来代替$ 符号。
结论
由于jQuery 是为处理HTML 事件而特别设计的,那么当您遵循以下原则时,您的代码会更恰当且更易维护:
把所有jQuery 代码置于事件处理函数中
把所有事件处理函数置于文档就绪事件处理器中
把jQuery 代码置于单独的.js 文件中
如果存在名称冲突,则重命名jQuery 库
jQuery 事件
jQuery 可以创建隐藏、显示、切换、滑动以及自定义动画等效果。
实例
jQuery hide()
演示简单的jQuery hide() 函数。
jQuery hide()
另一个hide() 演示。
如何隐藏部分文本。
jQuery slideToggle()
演示简单的slide panel 效果。
jQuery fadeTo()
演示简单的jQuery fadeTo() 函数。
jQuery animate()
演示简单的jQuery animate() 函数。
jQuery 隐藏和显示
通过hide() 和show() 两个函数,jQuery 支持对HTML 元素的隐藏和显示:
实例
$("#hide").click(function(){
$("p").hide();
});
$("#show").click(function(){
$("p").show();
});
hide() 和show() 都可以设置两个可选参数:speed 和callback。
语法:
$(selector).hide(speed,callback)
$(selector).show(speed,callback)
speed 参数规定显示或隐藏的速度。
可以设置这些值:"slow", "fast", "normal" 或毫秒。
callback 参数是在hide 或show 函数完成之后被执行的函数名称。
您将在本教程下面的章节学习更多有关callback 参数的知识。
实例
$("button").click(function(){
$("p").hide(1000);
});
jQuery 切换
jQuery toggle() 函数使用show() 或hide() 函数来切换HTML 元素的可见状态。
隐藏显示的元素,显示隐藏的元素。
语法:
$(selector).toggle(speed,callback)
speed 参数可以设置这些值:"slow", "fast", "normal" 或毫秒。
实例
$("button").click(function(){
$("p").toggle();
});
callback 参数是在该函数完成之后被执行的函数名称。
您将在本教程下面的章节学习更多有关callback 参数的知识。
jQuery 滑动函数- slideDown, slideUp, slideToggle
jQuery 拥有以下滑动函数:
$(selector).slideDown(speed,callback)
$(selector).slideUp(speed,callback)
$(selector).slideToggle(speed,callback)
speed 参数可以设置这些值:"slow", "fast", "normal" 或毫秒。
callback 参数是在该函数完成之后被执行的函数名称。
您将在本教程下面的章节学习更多有关callback 参数的知识。
slideDown() 实例
$(".flip").click(function(){
$(".panel").slideDown();
});
slideUp() 实例
$(".flip").click(function(){
$(".panel").slideUp()
})
slideToggle() 实例
$(".flip").click(function(){
$(".panel").slideToggle();
});
jQuery Fade 函数- fadeIn(), fadeOut(), fadeTo()
jQuery 拥有以下fade 函数:
$(selector).fadeIn(speed,callback)
$(selector).fadeOut(speed,callback)
$(selector).fadeTo(speed,opacity,callback)
speed 参数可以设置这些值:"slow", "fast", "normal" 或毫秒。
fadeTo() 函数中的opacity 参数规定减弱到给定的不透明度。
callback 参数是在该函数完成之后被执行的函数名称。
fadeTo() 实例
$("button").click(function(){
$("div").fadeTo("slow",0.25);
});
fadeOut() 实例
$("button").click(function(){
$("div").fadeOut(4000);
});
jQuery 自定义动画
jQuery 函数创建自定义动画的语法:
$(selector).animate({params},[duration],[easing],[callback])
关键的参数是params。
它定义产生动画的CSS 属性。
可以同时设置多个此类属性:
animate({width:"70%",opacity:0.4,marginLeft:"0.6in",fontSize:"3em"});
第二个参数是duration。
它定义用来应用到动画的时间。
它设置的值是:"slow", "fast", "normal" 或毫秒。
实例 1
<script type="text/javascript">
$(document).ready(function(){
$("#start").click(function(){
$("#box").animate({height:300},"slow");
$("#box").animate({width:300},"slow");
$("#box").animate({height:100},"slow");
$("#box").animate({width:100},"slow");
});
});
</script>
实例 2
<script type="text/javascript">
$(document).ready(function(){
$("#start").click(function(){
$("#box").animate({left:"100px"},"slow");
$("#box").animate({fontSize:"3em"},"slow");
});
});
</script>
HTML 元素默认是静态定位,且无法移动。
如需使元素可以移动,请把CSS 的position 设置为relative 或absolute。
Callback 函数在当前动画100% 完成之后执行。
jQuery 动画的问题
许多jQuery 函数涉及动画。
这些函数也许会将speed 或duration 作为可选参数。
例子:$("p").hide("slow")
speed 或duration 参数可以设置许多不同的值,比如"slow", "fast", "normal" 或毫秒。
实例
$("button").click(function(){
$("p").hide(1000);
});
由于JavaScript 语句(指令)是逐一执行的- 按照次序,动画之后的语句可能会产生错误或页面冲突,因为动画还没有完成。
为了避免这个情况,您可以以参数的形式添加Callback 函数。
jQuery Callback 函数
当动画100% 完成后,即调用Callback 函数。
典型的语法:
$(selector).hide(speed,callback)
callback 参数是一个在hide 操作完成后被执行的函数。
错误(没有callback)
$("p").hide(1000);
alert("The paragraph is now hidden");
正确(有callback)
$("p").hide(1000,function(){
alert("The paragraph is now hidden");
});
结论:如果您希望在一个涉及动画的函数之后来执行语句,请使用callback 函数。
jQuery 包含很多供改变和操作HTML 的强大函数。
改变HTML 内容
语法
$(selector).html(content)
html() 函数改变所匹配的HTML 元素的内容(innerHTML)。
实例
$("p").html("W3School");
添加HTML 内容
语法
$(selector).append(content)
append() 函数向所匹配的HTML 元素内部追加内容。
语法
$(selector).prepend(content)
prepend() 函数向所匹配的HTML 元素内部预置(Prepend)内容。
实例
$("p").append(" W3School");
语法
$(selector).after(content)
after() 函数在所有匹配的元素之后插入HTML 内容。
语法
$(selector).before(content)
before() 函数在所有匹配的元素之前插入HTML 内容。
实例
$("p").after(" W3School.");
jQuery CSS 操作
jQuery 拥有三种用于CSS 操作的重要函数:
$(selector).css(name,value)
$(selector).css({properties})
$(selector).css(name)
CSS 操作实例
函数css(name,value) 为所有匹配元素的给定CSS 属性设置值:
实例
$(selector).css(name,value)
$("p").css("background-color","red");
函数css({properties}) 同时为所有匹配元素的一系列CSS 属性设置值:实例
$(selector).css({properties})
$("p").css({"background-color":"red","font-size":"200%"});
函数css(name) 返回指定的CSS 属性的值:
实例
$(selector).css(name)
$(this).css("background-color");
jQuery Size 操作
jQuery 拥有两种用于尺寸操作的重要函数:
$(selector).height(value)
$(selector).width(value)
Size 操作实例
函数height(value) 设置所有匹配元素的高度:
实例
$(selector).height(value)
$("#id100").height("200px");
函数width(value) 设置所有匹配元素的宽度:
实例
$(selector).width(value)
$("#id200").width("300px");
jQuery AJAX 实例
请点击下面的按钮,就可以通过AJAX 来改变这段文本
点击按钮,改变内容
什么是AJAX?
AJAX = Asynchronous JavaScript and XML.
AJAX 是一种创建快速动态网页的技术。
AJAX 通过在后台与服务器交换少量数据的方式,允许网页进行异步更新。
这意味着有可能在不重载整个页面的情况下,对网页的一部分进行更新。
AJAX 和jQuery
jQuery 提供了用于AJAX 开发的丰富函数(方法)库。
通过jQuery AJAX,使用HTTP Get 和HTTP Post,您都可以从远程服务器请求TXT、HTML、XML 或JSON。
而且您可以直接把远程数据载入网页的被选HTML 元素中!
写的更少,做的更多
jQuery 的load 函数是一种简单的(但很强大的)AJAX 函数。
它的语法如下:
$(selector).load(url,data,callback)
请使用selector 来定义要改变的HTML 元素,使用url 参数来指定数据的web 地址。
只有当您希望向服务器发送数据时,才需要使用data 参数。
只有当您需要在执行完毕之后触发一个函数时,您才需要使用callback 参数。
Low Level AJAX
$.ajax(options) 是低层级AJAX 函数的语法。
$.ajax 提供了比高层级函数更多的功能,但是同时也更难使用。
option 参数设置的是name|value 对,定义url 数据、密码、数据类型、过滤器、字符集、超时以及错误函数。
(url) 被加载的数据的URL(地址)
(data) 发送到服务器的数据的键/值对象
(callback) 当数据被加载时,所执行的函数
(type) 被返回的数据的类型(html,xml,json,jasonp,script,text) (options) 完整AJAX 请求的所有键/值对选项
参考手册
通过实例增进jQuery 技能!
jQuery 语法实例
$(this).hide() 演示jQuery 的hide() 函数,隐藏当前的HTML 元素。
<html>
<head>
<script type="text/javascript" src="/jquery/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("button").click(function(){
$(this).hide();
});
});
</script>
</head>
<body>
<button type="button">Click me</button>
</body>
</html>
$("p").hide()
演示jQuery 的hide() 函数,隐藏所有<p> 元素。
<html>
<head>
<script type="text/javascript" src="/jquery/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("button").click(function(){
$("p").hide();
});
});
</script>
</head>
<body>
<h2>This is a heading</h2>
<p>This is a paragraph.</p>
<p>This is another paragraph.</p>
<button type="button">Click me</button>
</body>。