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