准备工作
在开始之前我们需要做如下准备工作:
1.创建一个名为DEMO.html空白html文件;(推荐使用Editplus创建)
2.熟悉JQuery框架的基本语法;(不熟悉没关系,后面我会注释得很详细)
3.创建一个名为data.xml的XML文件用来存储数据,XML的结构下面会涉及到,你也可以下载我打包好的文件查看;
4.一个loading.gif图片,这个图片用于在将XML读取出来的等待时间里面显示在空白html文档中
正式开始
Step 1:首先让我们看看这个data.xml的简单结构,我这里演示的数据是"Saturn为您推荐的几本书",故为书籍信息,那么xml就包括书籍的名称,缩略图和书籍描述信息;
以下为XML文件代码:
复制代码 代码如下:
<?xml version="1.0" encoding="utf-8" ?>
<books>
<book title="藏地密码" imageurl="images/Tibet_Code.jpg">
<description>
这里是概况(www.)
</description>
</book>
<book title="剑桥雅思6" imageurl="images/ielts.jpg">
<description>
这里是概况(www.)
</description>
</book>
<book title="Professional ASP.NET" imageurl="images/asp.jpg">
<description>
这里是概况(www.)
</description>
</book>
</books>
其次,让我们看看加载在空白HTML文档里面的JavaScript代码:
复制代码 代码如下:
$(document).ready(function()
{
$.get('myData.xml', function(d){
$('body').append('<h1> Saturn给你推荐几本书: </h1>');
$('body').append('<dl />');
$(d).find('book').each(function(){
var $book = $(this);
var title = $book.attr("title");
var description = $book.find('description').text();
var imageurl = $book.attr('imageurl');
var html = '<dt> <img class="bookImage" alt="" src="' + imageurl + '" /> </dt>';
html += '<dd> <span class="loadingPic" alt="Loading" />';
html += '<p class="title">' + title + '</p>';
html += '<p> ' + description + '</p>' ;
html += '</dd>';
$('dl').append($(html));
$('.loadingPic').fadeOut(2000);
});
});
});
Step 2:这里,我只讲下JavaScript代码原理与运行流程,不过分讨论语法,如果你对语法有任何疑问,请给我留言或者查看JQuery相关文档。
行1:当HTML文档准备完毕之后(即html和JavaScript都下载完毕),会自动触发JQuery的 $(document).ready方法及里面的过程。显然,这里首先执行的是$.get方法。
行3:$.get的第一个参数是XML文件的相对路径(注意路径要填写正确,这里我们把XML和网页文件放在同一文件夹)。第二个参数是一个Callback函数,即回调函数。就是说通过get方法来请求这个XML文件的内容,然后通过这个callback回调函数来操作里面的数据。而callback的参数d表示从XML回调过来的所有数据,有了这个参数d,我们就好进行下面的内容了。
行4:通过JavaScript在文档的BODY中动态添加一个标签<h1>,这个是页面的总标题,无关紧要;
行5:同样在BODY中动态添加一个标签<dl>,用来作为包含循环下面的内容容器。(行20会用到)
行7:这一行很重要,因为我们已经说过,回调函数的参数d表示从XML回调的所有数据,现在我们就需要对这些数据进行处理(筛选)和格式化;请注意:这里通过搜寻book标签(tag),然后循环执行each后面的函数,直到xml里面数据的条目完全循环完毕;(有点像PHP里面的foreach函数的功能)
行9:$(this)实际上就创建一个对象,目的是将d的当前一条书籍信息对象实例化,方便进行操作,这就是$book;
行10--行12:分别获取当前对象$book的书籍名称,描述和缩略图;(注意取属性值和取节点值的语法不同)
行14-行18:格式化书籍信息,以便输出;
行20:将格式化后的信息以HTML输出方式输出到文档中。
行22:为了告诉用户我们当前的信息正在从XML中读取,2000毫秒(2秒)后,图片逐渐消失。
Step 3:至此,大功告成。欢迎大家给我留言,共同讨论JQuery的开发和你所碰到的问题,请不吝赐教。另外,请将下载后的文件夹放在WEB环境下运行(IIS或虚拟主机),请不要直接点开运行。
代码打包下载
相关推荐:
jQuery toggle()设置CSS样式
文字来回上下移动或跳动的代码
基于HTTP长连接的"服务器推"技术的php 简易聊天室
mysql 编码设置命令
在IE下获取object(ActiveX)的Param的代码
FckEditor 中文配置手册
FreeTextBox(版本3.1.6)在ASP.Net 2.0中使用方法
Flex 全屏组件 部分全屏的实现代码
Nginx0.5.33+PHP5.2.5(FastCGI)搭建胜过Apache10倍的Web服务器
JavaScript 表格高亮类的应用[高级]
表格 隔行换色升级版
为javascript添加String.Format方法
Oracle 添加用户并赋权,修改密码,解锁,删除用户的方法
系统存储过程sp_MSforeachtable和sp_MSforeachdb使用说明
php 魔术方法使用说明
php 调用远程url的六种方法小结
php 向访客和爬虫显示不同的内容
php self,$this,const,static,-&gt;的使用
ASP.NET Web应用程序的安全解决方案浅析
JS旋转的彩色文字轮转特效
javascript 走马灯效果的链接提示
csdn 论坛技术区平均给分功能
Python 第一步 hello world
Javascript 仿歌词智能滚动代码
Iframe 自适应高度并实时监控高度变化的js代码
javascript获得CheckBoxList选中的数量
SQLServer 数据修复命令DBCC一览
解决Nginx + PHP(FastCGI)遇到的502 Bad Gateway错误
asp.net Javascript 的几种写法与提示
WEB页子窗口(showModalDialog和showModelessDialog)使用说明
jQuery入门 构造函数
asp.net XMLHttpRequest实现用户注册前的验证
jQuery 使用手册(二)
js 获取中文拼音,Select自动匹配字母获取值的代码
php 远程包含文件漏洞分析第1/6页
DB2 常用命令速查(备忘)
JSP forward用法分析实例代码分析
asp.net服务器上几种常见异常的解决方案.
JSP request(return String)用法详例
javascript 面向对象,实现namespace,class,继承,重载
javascript 时间比较实现代码
初学CAKEPHP 基础教程
域名行业再起波澜 COM降价引发代理狂潮
滑动门式菜单 实现代码
用按钮触发Javascript动态生成一个表格的代码
MSSQL2005 INSERT,UPDATE,DELETE 之OUTPUT子句使用实例
7个Javascript地图脚本整理
JavaScript 组件之旅(三):用 Ant 构建组件
JavaScript 仿歌词效果
JS 文件本身编码转换 图文教程