更改自levitated.net的FLASH TAGS CLOUD(1)
续我上次以Levitated.net的源码为基础,修改并发表了一篇WP的TAGS墙~之后,这次又以其提供的开源小应用修改了两个FLASH的标签云。本来连改了好几个效果,不过最后就两个合适的。分两篇文章发布,分开发布原因是两个标签云放在一个页面性能上有问题……
Levitated.net上的源码离现在已经很多年了,时间虽然长,不过他提供的算法还是值得我们借鉴。此次提供的两个标签云都可以进行例如字体颜色及背景颜色的配置(通过参数),标签云FLASH的宽和高可以随意设置,生成的标签完全自适应显示。
另一个效果,这个效果我觉得才是真正的有云的感觉http://www.ll19.com/levitated-flash-tags-cloud.html
FLASH通过读取XML进行标签显示,下面为XML的格式:
1 2 3 4 5 | < ?xml version="1.0" encoding="UTF-8"?> <root> <tags><name>java</name><link>java</link></tags> <tags><name>as3</name><link>as3</link></tags> </root> |
XML地址通过传入xmlUrl参数的值设置,例如此FLASH传入的地址为(http://www.ll19.com/wp-content/plugins/19_tags_cloud/19tags.php),下面为具体的引用:
动态加载的TREE
FLEX开发的一个简单的动态加载子节点的TREE.
做了一个动态加载子节点的TREE,可以通过XML中节点的属性来完成加载和执行操作。用法:TREE需要设置两个地址,第一次访问地址和每次点击节点响应地址,可以通过传入参数设置:
第一次访问的地址参数为“u”,默认每次响应地址是“./19TreeRequest”,也可以通过传入treeRequest参数来改变,比如这个演示的FLASH的地址就是:
http://www.ll19.com/up/19_tree/main.swf?u=http://www.ll19.com/up/19_tree/first.xml&treeRequest=http://www.ll19.com/up/19_tree/request.php
每次响应都应该生成类似下面的XML:
1 2 3 4 5 6 7 8 9 10 | < ?xml version="1.0" encoding="UTF-8"?> <root label="文章分类" title="LL19.com的文章" child="yes"> <!--child用来判断是否动态加载字节点 value值的是执行时候需要的值--> <node label="空目录演示" child="maybe" value="c_0"/> <node label="日志" child="maybe" value="c_1"/> <node label="喜欢的" child="maybe" value="c_2"/> <node label="收集" child="maybe" value="c_3"/> <node label="页面文章-tags" child="no" value="page_1"/> <node label="页面文章-blogRoll" child="no" value="page_2"/> </root> |
XML说明:
1 2 | <root label="文章分类" title="LL19.com的文章" child="yes"> </root> |
第一次响应需要生成两个标题属性,之后每次只需要生成child属性,一般来说设置为yes就行了。
1 | <node label="空目录演示" child="maybe" value="c_0"/> |
child=maybe就是指需要再次读取,tree以文件夹显示,点击后会向treeRequest设置的地址传入后面的value的值,即value=c_0,之后treeRequest应该根据此参数来再次生成XML返回。
child=”no”表示下面没有子节点了,TREE以文件的形式显示,点击后会调用页面的JS。
1 2 3 | function fileCall (value) { //根据value来执行操作 比如打开页面等 } |
这里的例子演示,具体可以下载参考。
FLASH源文件目录下的图片src\images,分别代表未加载文件夹、加载后的文件夹、加载的文件和加载中读取的FLASH(GIF无法播放,只能显示一帧,所以用SWF代替)。