- 浏览: 1453745 次
- 性别:
- 来自: 苏州
文章分类
- 全部博客 (564)
- 算法 (7)
- 流金岁月 (1)
- Javascript (30)
- actionscript (108)
- as3.0 game (14)
- flex (84)
- fms2 (27)
- 正则表达式 (7)
- 开源组件代码(as3.0) (1)
- Pv3d (13)
- Cairngorm (4)
- vbs (54)
- VB程序设计 (26)
- 计算机应用与维护 (4)
- 职场实用穿衣技巧 (3)
- 历史风云 (15)
- 淡泊明志,宁静致远 (12)
- 情感 (26)
- 杂谈 (41)
- 越南风 (14)
- DirectX (9)
- Dev-cpp (11)
- 回望百年 (2)
- 建站经验 (2)
- Python (24)
- 网络赚钱 (4)
- php (2)
- html (1)
- ob0短址网 (1)
- ob0.cn (1)
- wordpress (1)
- pandas logistic (1)
- haxe (1)
- opencv (1)
- 微信小程序 (3)
- vue (3)
- Flutter (1)
最新评论
-
GGGGeek:
第一个函数滚动监听不起作用,onPageScroll可以
微信小程序--搜索框滚动到顶部时悬浮 -
naomibyron:
解决办法:工具 -> 编译选项 -> 编译器 ...
dev-c++中编译含WINSOCK的代码出现错误的解决方法 -
haichuan11:
这个…… 代码不全真的是让人很憋屈的感觉啊
actionScript 3.0 图片裁剪及旋转 -
chenyw101:
老兄能留个QQ号吗?具体的我有些东西想请教下你
用VB制作网站登陆器 -
yantao1943:
貌似有点问题,只派发一次事件啊
使用ActionScript 2.0或ActionScript 3.0处理音频文件的提示点(cue
动机:
为了方便用户查看大批量数据,我们会用到动态分页,因此分页功能是我们在网站上见过的最普遍也是最常用的一个功能模块了。而以往的信息分页都是连接到数据库的,每一次点击都必须要后台数据库的支持。这样不但服务器的负担加重,而且严重的影响用户浏览的速度.
试想,如果把分页的功能放到客户端,那会产生什么样的效果呢?呵呵,看看下面的设计吧!
材料:
XML卷之动态分页
有2个文件:pages.xml 和 pages.xsl
作用:
把分页的功能放到客户端。在不刷新页面的情况下对数据进行过滤筛选,有效的提高浏览数据功能的效率。
效果:
浏览这里
pages.xml
程序代码: | [ 复制代码到剪贴板 ] |
<?xml-stylesheet type="text/xsl" href="pages.xsl" ?>
<BlueIdea>
<team>
<blue_ID>1</blue_ID>
<blue_name>Sailflying</blue_name>
<blue_text>一个简单的分页</blue_text>
<blue_time>2002-1-11 17:35:33</blue_time>
<blue_class>XML专题</blue_class>
</team>
<team>
<blue_ID>2</blue_ID>
<blue_name>flyingbird</blue_name>
<blue_text>嫁给你,是要你疼的</blue_text>
<blue_time>2001-09-06 12:45:51</blue_time>
<blue_class>灌水精华</blue_class>
</team>
<team>
<blue_ID>3</blue_ID>
<blue_name>苛子</blue_name>
<blue_text>正则表达式在UBB论坛中的应用</blue_text>
<blue_time>2001-11-23 21:02:16</blue_time>
<blue_class>Web 编程精华</blue_class>
</team>
<team>
<blue_ID>4</blue_ID>
<blue_name>太乙郎</blue_name>
<blue_text>年末经典分舵聚会完全手册 v0.1</blue_text>
<blue_time>2000-12-08 10:22:48</blue_time>
<blue_class>论坛灌水区</blue_class>
</team>
<team>
<blue_ID>5</blue_ID>
<blue_name>mmkk</blue_name>
<blue_text>Asp错误信息总汇</blue_text>
<blue_time>2001-10-13 16:39:05</blue_time>
<blue_class>javascript脚本</blue_class>
</team>
</BlueIdea>
pages.xsl
程序代码: | [ 复制代码到剪贴板 ] |
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:template match="/">
<html>
<head>
<title> XML卷之实战锦囊(3):动态分页</title>
<style>
body,BlueIdea,team,blue_ID,blue_name,blue_text,blue_time,blue_class{ font: 12px "宋体", "Arial", "Times New Roman"; }
table { font-size: 12px; border: 0px double; border-color: #99CC99 #99CC99 #CCCCCC #CCCCCC; cellpadding:3;cellspacing:3; bgcolor:#eeeeee; text-decoration: blink}
span { font-size: 12px; color: red; }
.keybutton { cursor:hand; font-size: 12px; color: #003300; background: #ffffff; border: 0px solid;}
</style>
<script>
<xsl:comment>
<![CDATA[
var OnePageNum=2;
var PageNum=1;
var XMLPageNum=1;
function pages(Num)
{
stylesheet=document.XSLDocument;
source=document.XMLDocument;
nodes=source.documentElement.childNodes;
len=nodes.length;
for(i=1;i<=(len/OnePageNum);i++);
XMLPageNum=i;
var firstNum=0;
var lastNume=0;
if (Num=="first") {PageNum=1;}
if (Num=="previous") {if (PageNum>1) PageNum -=1;}
if (Num=="next") {if (PageNum<XMLPageNum) PageNum +=1;}
if (Num=="last") {PageNum =XMLPageNum;}
sortField=document.XSLDocument.selectSingleNode("//@expr");
firstNum=OnePageNum*(PageNum-1)+1;
lastNum=OnePageNum*(PageNum-1)+OnePageNum;
text="childnumber(this)>="+firstNum+" & childnumber(this)<="+lastNum;
sortField.value=text;
Layer1.innerHTML=source.documentElement.transformNode(stylesheet);
}
]]>
</xsl:comment>
</script>
</head>
程序代码: | [ 复制代码到剪贴板 ] |
<p align="center"><span>XML卷之实战锦囊(3):动态分页</span></p>
<table align="center" width="500" >
<tr>
<td>
<button id="cmdfirstPage" class="keybutton" onclick="pages('first');" >首页</button>
<button id="cmdpreviousPage" class="keybutton" onclick="pages('previous');" >上一页</button>
<button id="cmdnextPage" class="keybutton" onclick="pages('next');">下一页</button>
<button id="cmdlastPage" class="keybutton" onclick="pages('last');">尾页</button>
</td>
</tr>
</table>
<div id="Layer1" name="Layer1"> <xsl:apply-templates select="BlueIdea" /></div>
</body>
程序代码: | [ 复制代码到剪贴板 ] |
</xsl:template>
<xsl:template match="BlueIdea">
<table width="500" border="1" align="center" cellpadding="1" cellspacing="1" bordercolordark="#ffffff" bordercolorlight="#ADAAAD">
<tr bgcolor="#FFCC99" align="center">
<td>编号</td>
<td>姓名</td>
<td>主题</td>
<td>发表时间</td>
<td>归类</td>
</tr>
<xsl:apply-templates select="team" order-by="blue_ID"/>
</table>
</xsl:template>
<xsl:template match="team">
<xsl:if expr="childnumber(this)>=1 & childnumber(this)<=2 ">
<tr align="center">
<xsl:apply-templates select="blue_ID" />
<xsl:apply-templates select="blue_name" />
<xsl:apply-templates select="blue_text" />
<xsl:apply-templates select="blue_time" />
<xsl:apply-templates select="blue_class" />
</tr>
</xsl:if>
</xsl:template>
<xsl:template match="blue_ID">
<td bgcolor="#eeeeee">
<xsl:value-of />
</td>
</xsl:template>
<xsl:template match="blue_name">
<td>
<xsl:value-of />
</td>
</xsl:template>
<xsl:template match="blue_text">
<td>
<xsl:value-of />
</td>
</xsl:template>
<xsl:template match="blue_time">
<td>
<xsl:value-of />
</td>
</xsl:template>
<xsl:template match="blue_class">
<td>
<xsl:value-of />
</td>
</xsl:template>
</xsl:stylesheet>
讲解:
1)search.xml 是数据文件,相信大家都不会有问题。
2)search.xsl 是格式文件,有几个地方要注意。
(1)脚本中:
nodes=source.documentElement.childNodes;
作用是:找到所有的节点。nodes.length就是符合条件的总节点数
sortField=document.XSLDocument.selectSingleNode("//@expr");
作用是:找到有属性为expr的第一个节点,因此它对应的节点就是
<xsl:if expr="childnumber(this)>=1 & childnumber(this)<=2 ">
因此在初次onLoad的时候expr的value值是
childnumber(this)<=1 & childnumber(this)>=2
关于 > < 大家可能熟悉多了。那&是什么呢? 它就是“与”了.
大家可以在XML的书中找到其它的一些。
参数说明:
OnePageNum:每页显示的数据数
PageNum:当前页数
XMLPageNum:总页数
firstNum:当前页的第一条数据值
lastNum:当前页的最后一条数据值
(2)文本中:
<xsl:if expr="childnumber(this)>=1 & childnumber(this)<=2 ">
在分页中我们需要输出合适的数据,,因此我们用一个 if 判断条件来控制。
在初始的时候我们要求只输出最前的两个节点的数值。
childnumber(this)
作用:返回当前节点在它的上级节点列表中的编号,列表中的第一个节点默认编号为1。
在分页中我们就是根据节点的编号来判断它属于第几页。
expr
不知道大家发现没有,前两次我们用到的都是 test ,可这个我们用的却是expr。
它们之间有一定的区别,用法也不相同。
expr ── 脚本语言表达式,计算结果为"真"或"假";如果结果为"真",且通过test,则在输出中显示其中内容(可省略此项属性)。
test ── 源数据测试条件。
程序代码: | [ 复制代码到剪贴板 ] |
作用是让数据回到最前一页。其它按钮的作用类似。
补充一点: XML例子文件的使用方法
1)将每个例子里的两个文件按照文件名分别保存。
2)用浏览器浏览XML文件即可。这是你会看到效果,应该不错吧!
后记:
呵呵,可以增加动态排序后,再分页的功能。再把列表数变为可设置。发挥你的思维,让这些功能更加完美。大家可以研究出更好的方法来实现分页功能。互相探讨,不亦乐乎!
发表评论
-
使用bat 处理文件 批量下载图片,下载文件
2018-11-17 10:42 3932Download Wscript.Arguments(0) ... -
VB6逆向工程浅析
2011-12-29 07:36 1735前言 VB的编译有两种方式,一种是P-Code ... -
VB函数——逆向分析备查
2011-12-28 21:39 1489Variant 变量的内部表示:_____________ ... -
VB程序逆向常用的函数
2011-12-28 21:38 14851) 数据类型转换: ... -
用XML创建可排序、分页的数据显示页面
2008-08-30 08:10 1396在Web开发中,我们经常 ... -
SQL注入天书 - ASP注入漏洞全接触
2008-08-28 17:39 1082随着B/S模式应用开发的发展,使用这种模式编写应用程序的程序员 ... -
一个学校的网站安全性测试
2008-08-28 17:38 1153本文作者:angel文章性质:原创发布日期:2004-04-0 ... -
改mdb为asp所带来的灾难
2008-08-28 17:36 999本文作者:SuperHei·Lilo文章性质:原创发布日期: ... -
XML实例解析
2008-08-28 17:35 1103提纲: 一:实例效果 ... -
选单连动
2008-08-28 17:34 1065动机: 现在我们做个在IE里应用XML的一个小例子:解决双下 ... -
ASP常用的代码(不断更新)
2008-08-28 17:34 12421.获得系统时间:<%=now()%>2.取得来访 ... -
动态排序
2008-08-28 17:31 1134动机: 排序功能让我们页面上的数据显的更人性化,是我们在网站 ... -
动态查询
2008-08-28 17:31 876动机: 查询功能是我们 ... -
对xml+xsl实现分页排序的改进,使支持对所有数据进行排序
2008-08-28 17:29 2097以往见过的利用xml+xsl来实现分页排序的基本都只能本页内排 ... -
使用XML、XSLT和XPath创建可排序、分页、重用的数据显示页
2008-08-28 17:27 1329在Web开发中,我们经常 ... -
用ASP+XML编写留言本
2008-08-28 17:16 2867一、读者指引 读者 ... -
asp查询xml的代码,实现了无刷新、模糊查询功能
2008-08-28 17:13 1161<html> <head> ... -
用Asp+XmlHttp实现RssReader功能
2008-08-28 17:12 873<style>body {margin:10px; ... -
vb+Webbrowser控件详解
2008-08-25 20:48 6824vb+Webbrowser控件详解 1、获得浏览器信息: P ... -
BBS注册机(vb script, telnet, sterm)
2008-08-16 11:34 1528#include "lib.vbs" Co ...
相关推荐
DeleteTest 删除试题 <br>DeleteUser 删除用户 <br>GetTestbean 获取试题 Bean <br>InsertTest 增加试题 <br>TestPage 试题列表分页显示 <br>TestsPage 试卷列表分页显示 <br>...
在Web开发领域,JSP(JavaServer Pages)是一种常见的技术,用于创建动态、交互式的网页。在处理大量数据时,分页是必不可少的功能,它帮助用户分块浏览内容,提高用户体验。本文将深入探讨JSP分页标签及其使用方法...
TestPage 试题列表分页显示 TestsPage 试卷列表分页显示 UpdateTest 跟新试题内容 UserPage 用户列表分页显示 Com.gton.servlet.web.* CheckLogin 登陆验证 Reg 注册 SelectTest 随机出题 ...
本系统拥有以下功能: ... CreateTests 生成试卷 DeleteTests 删除试卷 DeleteTest 删除试题 DeleteUser 删除用户 GetTestbean 获取试题Bean InsertTest 增加试题 TestPage 试题列表分页显示 ... MyXML XML操作类
实例308 通过JavaScript操作XML文档并分页 显示 486 实例309 通过JavaScript控制循环不间断播放 图片 487 实例310 利用javaScript控制Flash播放和停止 488 12.4 应用JavaScript实现Web打印 功能 490 实例311 调用IE...
- **ASP.NET AJAX**:通过JavaScript和XML技术提高Web应用程序的响应性和用户体验。 - **ASP.NET Dynamic Data**:一种快速构建数据驱动Web应用程序的方法,支持自动数据验证、分页等功能。 - **ASP.NET MVC**:...
传统的分页方式,多数是通过单击按钮的方式来显示分页的。利用Ajax可以通过使用滑块的滑动来选择所显示的分页,这种拖拽的方式有很好的用户体验。 /test.html 滑动显示分页页面 /js JavaScript脚本...
而在考场抽卷环节,我们生成XML文件存储试卷信息,并按照组卷方案进行试题插入,这涉及到了XML文件的操作和管理。 此外,我们还运用了FunshionChart进行图表展示,增强了成绩管理和数据分析的可视化。利用Ajax实现...
7. **性能优化**:讨论了缓存技术(如Redis)的使用、分页查询优化、数据库连接池的配置等提高系统性能的方法。 8. **系统测试**:进行了单元测试、集成测试,确保每个功能的正确性,并可能包含了性能测试来验证...
10. 分页查询与结果集处理:Java可以通过Limit子句(在某些JDBC驱动中支持)或自定义SQL实现分页查询,同时,ResultSet接口提供了遍历和处理查询结果的方法。 11. 异常处理:在数据库操作中,可能出现SQLException...
实例231 文本文件的分页读取 298 4.4 文件操作 300 实例232 文件操作汇总 300 实例233 目录、文件定位器 302 实例234 改头换面 303 实例235 文件属性分析 304 实例236 文件类型检测 306 实例237 判断文件的权限 308 ...
新的映像卷时,WimTool会自动检测原映像文件的压缩类型,并使新加入的映像卷与之匹配。 3、支持挂载和卸载Wim文件。用WimTool挂载Wim文件时,用户可以选择指定的映像文件和挂载目录,同时也可指定 挂载方式(是否可写...