易截截图软件、单文件、免安装、纯绿色、仅160KB

Ajax特效 动态树形列表 之一

树形列表(菜单)在Web应用中十分常见,通常应用于目录式结构,例如产品分类、部门机构等。传统的树形菜单主要有两种加载方式:一种是一次性加载全部数据,另一种是根据用户操作逐步加载数据,但是需要刷新页面。前者加载速度较慢,并且存在大量数据没有被使用的浪费情形。后者可以逐步加载,但是频繁地刷新页面在给用户带来不便的同时,也增加了系统开发的复杂度。
当前使用的Ajax技术,同时兼顾了两种传统方式的优点,即无刷新和动态加载特性。从用户体验到服务器负担来讲都是有利的。
由于编写一个动态树形列表要考虑的问题很多,在进入正式的讲解之前,先以一个简单的页面展示一下树形列表的基本原理。了解了基本原理后,再深入研究树形列表的细节就容易多了。图1.6所示是基本原理演示页面的运行效果。
动态树形列表的基本原理是:每当单击一个子项时,动态地在子项节点内追加新的节点,同时依靠样式表设置新节点的缩进。由于新节点在父节点内追加,因此缩进效果也建立在父节点已有的缩进基础上。通过叠加的缩进使得整个列表具有了树形结构。图1.7所示是各函数之间的调用关系。
                              
图1.6  基本原理演示页运行效果              图1.7  基本原理演示页函数调用关系
样式的缩进写法为margin-left:10px,表示左边距为10像素。为了表示节点的动态性,增加一个计数器变量counter,用于为每个新创建的子项进行编号。在响应onclick事件时,由于新的子项是包含在父节点内的,所以onclick事件会冒泡响应。为了避免出现这种情况造成创建出多余的子项,通过设置event.cancelBubble = true阻止事件冒泡。这种阻止方式仅适用于IE浏览器,在正式的树形列表中,使用了其他方式避免此问题的发生。下面是基本原理演示页面的详细代码。
 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<title>动态树形列表基本原理演示</title>
<style>
/* 设置class属性为item的div缩进10px */
div.item {
    margin-le


相关文档:

Ajax的异步核心:XMLHTTPRequest

    XMLHTTPRequest是依附于浏览器的一个组件,浏览器不同针对的组件名称也不同。XMLHTTPRequest是Firefox中组件的名称,在IE中叫XMLHTTP。“XMLHTTP”有两个优点:局部刷新、异步读取。
Ajax的实现步骤:
1、 创建异步对象:
在IE中:var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); ......

解决ajax以post方式传参时,字符串中有单引号的错误。

 今天用ajax的post方式传值时,遇到一个问题,始终没有找到问题原因。后来把传的值中单引号去掉后,js正常了。
经过搜索,也没有找到具体原因。最后通过隐藏域来中转该字符串。最后解决这个问题!无语了!备忘!
js部份:
////异步调用服务器信息
function CallServiceInsert()
{
var url="";
var para ......

Ajax特效 动态加载的FAQ 之二

本实例使用名为faq的数据库表,包含的数据如图1.2所示。具体的创建数据表语句如下:
 
CREATE TABLE 'faq' (
  'id' int(11) NOT NULL auto_increment,
  'faq' varchar(255) NOT NULL,
  'detail' varchar(255) NOT NULL,
  PRIMARY KEY  ('id')
)
图1.2  表faq包含的数据
主 ......

Ajax特效 根据邮政编码获取地区信息 之三

用户操作界面postalcode.html
页面中包含3个文本框,分别表示邮政编码、地区和城市信息。当用户输入邮政编码后,系统将自动从服务器读取地区和城市信息,填充到对应文本框中。详细的函数说明请参考代码中的注释。
 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<head>
<tit ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号