本页面由 Flash 保存计划 从 Internet Archive 存档还原 · 快照 2006-07-08 · 原址 http://www.flash8.net/teach/2702.htm ← Flash 保存计划

使用Tree组件制作树形菜单

作者:skykin   类型:原创   来源:闪吧

  我们使用一个外部的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"那样的话会产生一个根节点
}
}

   责任编辑:uufeng    时间:2005年1月6日

正在加载评论...