Ajax特效:动态加载的FAQ 之一
图1.1 实例运行效果
1.1.1 技术要点
动态加载FAQ的过程主要是利用XMLHttpRequest(以下简称XHR)对象与服务端通信,根据用户单击的感兴趣问题动态将内容加载到页面中。在具体实现时,有两点要注意的内容。
1.对每个问题进行唯一标识
FAQ主要包含问题与解答两个部分,用户单击一个问题时,服务器必须知道请求的是哪个问题的解答,所以必须对每个问题进行唯一标识。标识的方法很多,在本例中简单使用数字进行标识。每个问题在页面上表现为超链接,单击链接将触发onclick事件,调用loadFAQ函数,传入问题标识,获取对应的解答。
单击后并不是要真正链接到一个新的页面,所以在<a>标签的onclick事件中return false取消原有链接的功能。每个答案分配一个div用于显示,每个div的id属性命名规则为,在对应的问题数字标识前统一增加“faqDetail”。
2.对已加载的解答不重复向服务器发出请求
问题的解答加载后,将显示在对应问题下方的div中。当用户再次单击问题时该div将隐藏起来。如果用户第三次单击相同的问题,由于解答已加载到页面,所以不需要再次向服务器发送请求,只需将隐藏的div显示出来即可。
隐藏和显示主要通过设置div样式中的display属性来完成,当display属性设置为“none”时隐藏,设置为“block”时显示。判断是否需要发出请求,可以检查div的innerHTML是否包含内容。
相关文档:
本篇文章主要介绍如何在Ajax的客户端与服务端之间传送JSON格式的数据。那么我们先来说说什么是JSON吧。
JSON,即是JavaScript对象标记法,英文名称是JavaScript Object Notation,简称JSON
,是 JavaScript Programming Language,
Standard
ECMA-262 3rd Edition - December 1999
的子集合,是从JavaScript的o ......
Ajax Slideshow
http://drupal.org/project/ajax_slideshow
View
CVS instructions
Modules · Content display
udig - October 17, 2009 - 12:05
Sequential presentation of any of your site nodes, using fade effect based on ajax asynchronous calls.
Why?
Indeed there are plenty of slideshow modules ......
var xmlHttp;
function createXMLHttpRequestss() {
if (window.ActiveXObject) {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}else if (window.XMLHttpRequest) {
& ......
Ajax
一.资源类网站
1,国内网站
1)Ajax中国(推荐)
一个专业的ajax技术网站,分类清晰,有大量的电子版教程,以及AJAX源码下载!
www.okajax.com
2)ajaxcn.org
李琨老师的blog。李琨:《ajax实战》译者.
www.ajaxcn.org
-----------------------------------------
2,国外网站
1)、Ajax的诞生
Ajax:ANewApproachtoWeb ......