使用Tree组件制作树形菜单 |
| 作者:佚名 来源:闪吧 作者: skykin 更新:2007-1-13 20:47:07 错误报告 我要投稿 |
我们使用一个外部的XML文件作为菜单的数据内容,因为这样方便修改 XML文档:(source.xml)
<?xml version="1.0" encoding="UTF-8"?> <root> <node label="目录一"> <node label="我的Blog" data="http://blog.51ww.com/skykin"/> <node label="栏目二" data="http://blog.51ww.com/skykin"/> <node label="栏目一" data="http://blog.51ww.com/skykin"/> </node> <node label="目录二"> <node label="栏目一" data="http://blog.51ww.com/skykin"/> <node label="栏目二" data="http://blog.51ww.com/skykin"/> </node> <node label="目录三"> <node label="栏目一" data="http://blog.51ww.com/skykin"/> <node label="栏目二" data="http://blog.51ww.com/skykin"/> </node> </root> FLASH部分: 从组件窗口里拖出一个"Tree"组件放到舞台上,命名实例名为:myTree 然后在帧上加入以下动作代码:
myTree.vScrollPolicy = "auto";//自动隐藏/显示滚动条 /*定义一个触发事件*/ listenerObject = new Object(); listenerObject.change = function(evtObject){ var url = evtObject.target.selectedItem.attributes.data; if(url != undefined){ getURL(url,"_blank"); } } myTree.addEventListener("change", listenerObject);
/*从外部载入XML菜单列表*/ var myTreeDP:XML = new XML(); myTreeDP.ignoreWhite = true; myTree.dataProvider = new XML("<node label=’正在载入...’/>"); myTreeDP.load("source.xml"); myTreeDP.onLoad = function(session:Boolean){ if(session){ myTree.dataProvider = myTreeDP.lastChild;//读取子节点的内容作为菜单列表,可以是不带属性或带属性:".firstChild"那样的话会产生一个根节点 } }
|
|
| 文章录入:skyuu 责任编辑:skyuu |
|
| 【字体:小 大】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 |