时间: 2021-07-31 作者:daque
the tree component组件承诺你表露一个树状构造的导航,并且不妨是图形化的。本来你仍旧很领会它了,由于它和咱们常常运用的资源处置器是格外一致的。 1. 创造一个400*200巨细的新的flash文献,运用下列的图示做为参照举行构造。
javascript:if(this.width>540)this.width=540">
2. 创造两个新分层,从上到下辨别将新层定名为:action,tree component,text area component。
3. 采用tree component层的第一帧。从组件库中将tree component拖放到层中翻开属性面板将其宽设为172高设为180。而且将本来例名定名为mytree。
javascript:if(this.width>540)this.width=540">
4. 采用text area component层上第一帧,从组件库中将text area component组件拖至此层上,翻开属性面板,将其宽设为188高设为180,并将本来例名定名为mystatusarea,树立其html属性为true。由于咱们要将它的实质表露为html方法。同声要将它的换行属性设为true。
javascript:if(this.width>540)this.width=540">
5. 运用登记本找开你载入的xml文献tree_source.xml来观察它的构造。观察它是怎样囊括文献目次以及少许未囊括的文书档案。
<?xml version="1.0" encoding="iso-8859-1"?><node label="personal folders"> <node label="inbox"> <node label="first message" /> <node label="second message" /> <node label="third message" /> </node> <node label="drafts"> <node label="first message" /> </node> <node label="outbox" isbranch="true"> <node label="no messages." /> </node> <node label="sent items"> <node label="first message" /> <node label="second message" /> </node></node>
6. 在action层的第一帧上输出如次代码:
//载入并指定命据源mytreedataprovider=new xml();//在xml中忽视空格,这在xml中是很要害的。mytreedataprovider.ignorewhite=true;//载入外部xml文献mytreedataprovider.load("tree_source.xml");//xml的onload事变mytreedataprovider.onload=function(){ mytree.dataprovider=mytreedataprovider;}
之上代码是用来载入数据源,同声将这个xml文献动作数据源供给给tree component。
7. 连接鄙人方介入如次代码
//树立tree component的侦听器。mytreelistener=new object();//节点翻开事变mytreelistener.nodeopen=function(eventobject){ mystatusarea.text+="<li>"+eventobject.node.attributes.label+"opened.";}
之上代码创造侦听器,来侦听节点翻开事变。
8. 连接介入代码如次:
//节点封闭事变mytreelistener.nodeclose=function(eventobject){ mystatusarea.text+="<li>"+eventobject.node.attributes.label+"<i>closed.</i>.";}
向上头代码一律创造封闭事变。
9. 连接在帧上介入代码
//变换事变mytreelistener.change=function(eventobject){ //采用的节点 var theselectednode=eventobject.target.selectednode; //选中节点的label var theselectednodelabel=theselectednode.attributes.label; //将其表露在textarea组件中 mystatusarea.text+="<li>"+theselectednodelabel+"<b>selected</b>.";}
10. 连接介入如次代码。
mytree.addeventlistener("nodeopen",mytreelistener);mytree.addeventlistener("nodeclose",mytreelistener);mytree.addeventlistener("change",mytreelistener);
在这边要提防的是在备案侦听器时你不许一次备案一切的事变。
11. 尝试你的片子吧。