flash和xml实现二级菜单效果
作者 佚名技术
来源 服务器技术
浏览
发布时间 2012-07-08
P.S. 这个二级菜单程序已经很久之前写得了,这几天有一个网友再一次问起来,所以想一想还是把这个程序也贴出来吧,希望对大家有点帮助! 演示效果: 程序核心代码: //===主场景代码=== stop(); menu_XML_count=0; menu_y=30; id=0; //读取menu.xml文件; menu_xml=newXML(); menu_xml.ignoreWhite=true; menu_xml.onLoad=function(sc){ if(sc){ _root.init(this.firstChild); } }; menu_xml.load("menu.xml"); functioninit(nd){ menu_xml_count=nd.childNodes.length; setMenu(nd.firstChild); } functionsetMenu(node){ if(node!=null){ varinitObj=newObject(); initObj._x=0; if(menu_obj!=undefined){ initObj._y=menu_obj._y+menu_obj._height; }else{ initObj._y=menu_y; } initObj.id=id; initObj.node=node; initObj.label=node.attributes.label; initObj.target=node.attributes.target; initObj.goto=node.attributes.goto; menu_obj=_root.attachMovie("menu_mc","menu"+id+"_mc",id+100,initObj); id=id+1; setMenu(node.nextSibling); }else{ id=0; fscommand("setHeight",menu_obj._y+menu_obj._height); play(); } } functionmoveMenu(menu_id){ deleteold_obj; for(i=0;i<menu_xml_count;i++){ varmove_obj=eval("menu"+i+"_mc"); if(menu_id==move_obj.id){ if(move_obj.opened){ move_obj.close_item(); }else{ move_obj.open_item(); } }else{ move_obj.close_item(); } if(old_obj==undefined){ move_obj._y=menu_y; }else{ move_obj._y=old_obj._y+old_obj._height; } old_obj=move_obj; } fscommand("setHeight",move_obj._y+move_obj._height); } //====一级菜单MC里代码==== //初始化; opened=false; expand=false; sub_id=0; label_en_txt.text="Menu"; label_cn_txt.text="菜单名称"; //设置label; if(label!=undefined){ varlabel_arr=this.label.split("|"); label_cn_txt.text=label_arr[0]; label_en_txt.text=label_arr[1]; } //===========; //设置expand; if(node.childNodes.length>0){ expand=true; } //===========; //设置target; if(this.target==undefined||this.target==""){ this.target="_self"; } if(!this.expand){ arrow_mc._visible=false; } //按钮事件; hit_btn.onPress=function(){ menu_up(); }; hit_btn.onRollOver=function(){ menu_over(); }; hit_btn.onRollOut=function(){ menu_out(); }; hit_btn.onRelease=function(){ menu_out(); if(expand){ _root.moveMenu(this._parent.id); }else{ gotoPage(); } }; hit_btn.onReleaseOutside=function(){ menu_out(); }; functionmenu_over(){ menu_mc.gotoAndPlay("over"); } functionmenu_out(){ menu_mc.gotoAndPlay("out"); } functionmenu_up(){ menu_mc.gotoAndStop("up"); } functiongotoPage(){ if(this.goto!=undefined&&this.goto!=""){ getURL(this.goto,this.target); } } functionopen_item(){ this.createEmptyMovieClip("item_list_mc",10); item_list_mc._y=25; setMenu(node.firstChild); arrow_mc._rotation=90; opened=true; } functionclose_item(){ item_list_mc.removeMovieClip(); arrow_mc._rotation=0; opened=false; } functionsetMenu(nd){ if(nd!=null){ varinitObj=newObject(); initObj._x=0; if(item_obj!=undefined){ initObj._y=item_obj._y+item_obj._height; }else{ initObj._y=0; } initObj.label=nd.attributes.label; initObj.target=nd.attributes.target; initObj.goto=nd.attributes.goto; item_obj=item_l |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: flash里面,怎么设置“设为首页,加为珍藏下一篇: 最常用的Flash语句
关于flash和xml实现二级菜单效果的所有评论