前言: 我最近在做一个项目,需要用到ajax,我以前做ajax项目,已经有很多年了,jquery还不成熟,需要自己编写大量的Javascript代码。 如果有人发现已经有人翻译过了,劳烦通知一下,我就不做重复劳动了。 这里先提供入门章节内容。 ===========================================================================
教程:JQuery如何工作
对JQuery的简要介绍和一些需要了解的如何使用JQuery的概念 原文地址: http://docs.jquery.com/Tutorials:How_jQuery_Works
这段主要教授你如何开始使用jQuery. 如果你还没有一个测试页面,请先从按照下面的代码创建一个HTML页面。 <!doctype html> <html> <head> <meta charset="utf-8"> <title>Demo</title> </head> <body> <a href="http://jquery.com/">jQuery</a> <script src="jquery.js"></script> <script>
</script> </body> </html> 编辑Script标签的src属性,指向你的jquery.js属性。例如,如果你的jquery.js和HTML文件在同一文件夹下: <script src="jquery.js"></script> 很多Javascript程序员都要做的第一件事情,就是加这样的一些代码到他们的程序: window.onload = function(){ alert("welcome"); } 这段代码将会在页面加载成功时被正确执行,但是,这段代码的问题是Javascript代码将会在所有的图片信息被全部下载完成后执行(这里包含了广告栏)。这里使用首先Window.onload的原因是HTML在你最初运行这段代码的时候,HTML文档并没有完全加载。 To circumvent both problems, jQuery has a simple statement that checks the document and waits until it's ready to be manipulated, known as the ready event: jQuery有一个很简单的声明来检查文档,和判断文档是否已经准备完成,这里称之为 ready event: $(document).ready(function(){ // Your code here }); 我们在ready event中添加一个超链接点击的处理方法。 $(document).ready(function(){ $("a").click(function(event){ alert("Thanks for visiting!"); }); }); 保存HTML文件,在浏览器中刷新此文件,点击网页中的超链接,在连接到指定页面之前首先会弹出一个提示框。 在点击和其他的很多事件中,你可以在这里使用event.preventDefault()来阻止其进行默认行为。 $(document).ready(function(){ $("a").click(function(event){ alert("As you can see, the link no longer took you to jquery.com"); event.preventDefault(); }); }); 这里提供一个完整的HTML文件的示例来演示之前我们讲述的内容。注意这里连接到了Google’s CDN 来加载jQuery的核心库。你最好将它放在一个单独文件中,并且在Head标签中完成对它的加载。 <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>jQuery demo</title> </head> <body> <a href="http://jquery.com/">jQuery</a> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script> <script> $(document).ready(function(){ $("a").click(function(event){ alert("As you can see, the link no longer took you to jquery.com"); event.preventDefault(); }); }); </script> </body> </html> 重要: 接下来的jQuery示例需要放在ready event内,这样在文档准备结束后立即执行。 我们另一种常常做的事情,便是增加(或者删除)一个css样式。 首先我们在<head>标签内增加一些样式: <style> a.test { font-weight: bold; } </style> 然后在代码内使用addClass方法 $("a").addClass("test"); 所有超链接会被加粗。 要删除此样式,只需要使用 remove class方法。 (允许添加多个样式到html) $("a").removeClass("test");
Edit® jQuery提供了一组特效,使用这些特效可以让你的网站脱颖而出,你只需要将上面的测试文件添加如下代码就可以进行测试: $("a").click(function(event){ event.preventDefault(); $(this).hide("slow"); }); 如果你点击超链接,你所点击的超级链接会被隐藏。 回调函数是指父方法运行通过后传递参数并且进行调用的函数。回调函数的特殊之处在父函数可以在回调函数运行之前运行。另一个重要的点是要知道如何正确的传递回调。这也是我常常忘记的正确语法。 无参数回调 你可以使用下面的代码来设定回调参数。 $.get('myhtmlpage.html', myCallBack); 注意 第二个参数只包含回调函数的名字(不是字符串并且不包含括号对). Javascript的函数可以像参数一样传递,并且在后面的代码执行。 包含参数的回调 你可能会这样问,"如果包含参数,你会怎么做?"。 错误的方式 错误的调用方式(不会被执行) $.get('myhtmlpage.html', myCallBack(param1, param2));
myCallBack(param1, param2) 它的执行结果会被作为第二个参数传递给$get()函数 正确的方式 上面的方式问题在于 myCallBack在作为函数传递之前先被进行了评估。Javascrip和的jQuery 将函数扩展为函数指针,例如IE的设定Timeout函数。 下面的方法,创建了一个匿名函数并且注册了回调函数。注意这里使用了function(){}匿名函数只做了一件事情,使用两个参数param1,param2调用myCallBack方法。 $.get('myhtmlpage.html', function(){ myCallBack(param1, param2); }); param1和param2是$get()方法获取页面完成后提供的参数。 (责任编辑:admin) |