这个东西功能很简单,没有什么技术含量。只是记录一下。
xml 的数据获取后,可以通过一个简单分页处理来完成简单分页效果。
1.利用求余和除法的方法判断页数
这个是一个比较常见的做法,也是一种办法。在这里,不对这种分页处理要达到什么最优化的效果进行讨论,这里只是探讨一种办法。对一些数据量不大的做法,可以尝试一下这些。然而对于过大的数据量,则需要其他办法处理。我对数据库并不熟悉,甚至可以说早已经遗忘了很多。不过,利用现在的资源处理一下这些还算可以。
假设,xml 有50条的信息,我们每一页只是显示10条,则50/10=5;计算出5页。
假设,xml 有51条信息,我们需要进行分页,每一页显示10条,则51/10=5.....1(余1) 则我们需要分页数为5+1=6页。
可以假设推导,当除尽的时候,容易计算出页数,当不能计算出,我们则通过求余的方式来判断是否求可以整除。 (页数%2==0).
下面就是一个思路。
if(总页数%2==0)
{
分页数=总页数/每一页的条数
}
else
{
分页数=总页数/每一页的条数+1;
}
有了这个办法之后,我们写一个简单类实现这个功能。
2.接下来,我们还需要对其进行分页处理。
3扩展文本,为了实现了一个提示的作用,因此为文本扩展一个字符串
4 总的文档类。
获取XML数据源
现在开始,我们看看是怎样获取到xml的资源?这次我们使用的xml 并不是在本地里面进行,而是通过外部网络的rss提供的xml 数据进行解析
读取完成xml后,我们对一些数据进行保存,使用数组进行对xml 的标题,连接地址。描述进行处理。
显示数据一种处理方法
保存了这些后,现在开始我们就通过交互性的操作让xml 看起来就像分页一样。
每一次,我们读取的数据是限定的,假设我设置每一页最多显示的数据为10,那么通过计算出分页码,每次通过循环的显示出数组里面的内容
0---10
11---21
22---32
33---43
这样的方式进行处理;
关键一个地方处理输出的条件。开始--限制输出的条数判断
temp=page.MaxRow*(count+1)>list.length ? list.length :page.MaxRow*(count+1);
for (var i:int=page.MaxRow*count; i<temp; i++)
鼠标交互性:翻页
弄好了这个,我们讨论鼠标的交互性,当我们点击了按钮后,我们希望进行分页的效果。在这里笔者想到一个点击数的计算办法
通过人的点击数来计算出显示出那一页。
count 变量为 鼠标点击计数器,初始化0;当点击了那么就会变成1.
点击是数需要进行一定的限制,不能超过总的分页数total(为分页后的数)
显示页码
通过鼠标交互,就能显示出不同的页数了。最后就是显示页码了
不足地方依旧很大,只能算一个简单demo 效果了。
引发的问题:
由于swf 并不是所有文件都允许加载进来。因此对外部的xml 文件,要是没有crossdomain.xml文件的支持,那么就会进行出错
例如:读取新浪的RSSxml文件。
http://blog.sina.com.cn/crossdomain.xml
可以发现,所以打开swf 读取外部的rss的xml文件,所以对比一下使用这个文件。检查一下对方是否有crossdomain.xml的文件。
只有服务器允许了,这样我们打开swf 就可以加载到外部的文件了而不发生异常。