现在的位置: 首页 > 综合 > 正文

每天学一点flash(63) 读取xml后的简单分页处理

2013年09月02日 ⁄ 综合 ⁄ 共 7571字 ⁄ 字号 评论关闭

 这个东西功能很简单,没有什么技术含量。只是记录一下。

 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 就可以加载到外部的文件了而不发生异常。

 

 

 

 

 

抱歉!评论已关闭.