jQuery入门及实例——新手必看

  • 格式:doc
  • 大小:33.50 KB
  • 文档页数:4

首先我解释一下jQuery:

jQuery有一个用来作为DOM快速载入javascript的得心应手的小函数,那就是ready„ 他在页面加载完成之前执行。 (也许window.onload()能实现同样的功能,但是jQuery更加快速,灵活)。

$(document).ready(fn):当DOM载入就绪可以查询及操纵时绑定一个要执行的函数。这是事件模块中最重要的一个函数,因为它可以极大地提高web应用程序的响应速度。 简单地说,这个方法纯粹是对向window.load事件注册事件的替代方法。通过使用这个方法,可以在DOM载入就绪能够读取并操纵时立即调用你所绑定的函数,而99.99%的JavaScript函数都需要在那一刻执行。

请确保在元素的onload事件中没有注册函数,否则可能不会触发$(document).ready()事件。

可以在同一个页面中无限次地使用$(document).ready()事件。

其中注册的函数会按照(代码中的)先后顺序依次执行。

0,jQ的关键程序:

程序代码

window.onload = function(){ ... } .

访问HTML文档的元素,必须先载入文档对象模型(DOM)。当window.onload函数执行的时候,说明所有东西已经载入,包括图像和横幅等等。要知道较大的图片下载速度会比较慢,因此用户必须等待大图片下载完毕才能看到window.onload()执行的代码效果,这样就花费了很长的等待时间,这不是我们想要的。

对于此,jquery提供了一个"ready"事件,你可以使用以下的代码片段:

demo0:

程序代码

$(document).ready(function(){

// 你的代码

});

$(document)意思是说,获取整个网页文档对象(类似的于window.document),$(document).ready意思就是说,获取文档对象就绪的时候。

上面这段代码的意思是检查文档对象直到它能够允许被操作(译者注:这样做比window.onload()函数要快的多,因为只要文档对象载入完成就能够执行代码了,而不需要等待页面中的图片下载是否已经完成)---这是我们想要的。

好了 ,其他的也不多说了,我们开始来用jQ写几个简单的例子。

1,demo1:

鼠标点击时的触发

首先,我们尝试鼠标点击超链接时触发某些行为。在ready函数里加入以下代码:

程序代码

$("p").click(function(){

alert("hello world");

});

2,demo2:

增加 CSS Class

另外一个事情就是,一个共同的任务:增加或移除元素的css class,例如:

程序代码 $("a").addClass("test");

$("a").removeClass("test");

那么当你调用了addClass函数后,所有超链接的字体将变成粗体。

3,demo3:

show( )和html()的使用

$("a").addClass("test").show().html("foo");

程序解释:

首先增加样式,

然后

show( ):显示隐藏的匹配元素。

html("foo"):设置每一个匹配元素的html内容

4,demo4:

特效hide()

$("a").click(function(){

$(this).hide("slow");

return false;

});

程序解释:

点击超链接,超链接就会慢慢的消失。

“return false"表示保留默认行为,因此页面不会跳转。

5,demo5:

demo5-收缩展开功能

$("#head").click(function()

{$("#content").slideToggle("slow",function(){ alert("Hello,cssrain..");});

});

程序解释:

1,首先把JQ导入.

2,然后开始写函数了。$(document).ready(function(){});

3,前面说过了,获取标签能直接 $("标签")。给标签注册 onclick事件直接可以 click.

4,核心代码:

$("head").click(function(){$("content").slideToggle("slow");});

5,slideToggle(speed, callback)

通过高度变化来切换所有匹配元素的可见性,并在切换完成后可选地触发一个回调函数。

这个动画效果只调整元素的高度,可以使匹配的元素以“滑动”的方式隐藏或显示。

6,demo6:

appendTo的用法

{$("#head2").click(function()

{$("

value='hello,cssrain..' >
").appendTo("#ccc");});}

看这里的变化

程序解释:

appendTo():

把所有匹配的元素追加到另一个、指定的元素元素集合中

7, demo7:

表格隔行变色, 鼠标滑过变色,点击变色.

代码解释:

例子中我已经把 解释放上去了,这里就不再贴注释了。

例子中用了:mouseover(),addClass(),mouseout(),removeClass(),click(),

toggleClass(),tr:even 等方法。

另外解释了toggle()和toggleClass()的区别。

另外这个例子 我用了 链式操作 .可以查看 链式操作.txt 里面有解释。

8,demo8:

toggle( )的用法:

$("p").toggle()

切换元素的可见状态。

如果元素是可见的,切换为隐藏的;如果元素是隐藏的,切换为可见的。

9,demo9:

hover()的用法:

Hover(function over ,function out )

一个模仿悬停事件(鼠标移动到一个对象上面及移出这个对象)的方法.

Table里也可以用。

10,demo10:

忘记说了

其实$(document).ready(function(){

// 你的代码

});

中的$ 也可以用 jQuery代替

jQuery(document).ready(function(){

jQuery(".").click(function(){jQuery(this).toggleClass("")})

});

代替有什么好处呢? 有可能你会用其他的js库,象prototype也是$, 有可能会冲突。

所以用jQuery代替$是比较安全的写法。

还有就是:

$(document).ready(function(){

//

}); 的缩写法:

$(

function() {

// }

);

11,demo11:

each—find的用法

$("#orderedlist").find("li").each(function(i) {})

each( Function 函数 fn要执行的函数 )以每一个匹配的元素作为上下文来执行一个函数

12,demo12:

parents()的用法:

$(this).parents("p").addClass("highlight");

parents( String expr )

取得一个包含着所有匹配元素的唯一祖先元素的元素集合(不包含根元素)。

13,demo13:

load()的用法:

$("#feeds").load("FAQ1.html",function() { alert("load is done");}

从远程的一个文件中载入HTML并且将它注入到DOM中

14,demo14:

next的用法:

$("p").next().html()

取得一个包含匹配的元素集合中每一个元素紧邻的后面同辈元素的元素集合。

这个函数只返回后面那个紧邻的同辈元素,而不是后面所有的同辈元素。

可以用一个可选的表达式进行筛选。

15,demo15: