4,328
社区成员
发帖
与我相关
我的任务
分享
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
creationComplete="{menuClickHandler(null)}">
<mx:Style>
.menuButton
{
fontSize: 12;
fontStyle: normal;
fontWeihgt: normal;
}
.menuItemButton
{
fontSize: 12;
fontStyle: normal;
fontWeihgt: normal;
}
</mx:Style>
<mx:Script>
<![CDATA[
import flash.events.MouseEvent;
import flash.net.navigateToURL;
import flash.net.URLRequest;
import mx.controls.Button;
import mx.events.EffectEvent;
private var menuData:Object = {label: "场景导航", children: [
{label: "税务登录", children: [
{label: "我要进行设立税务登记", children: [
{label: "一般税务登记", url: "http://www.csdn.net"},
{label: "临时税务登记", url: "http://www.baidu.com"},
{label: "扣缴税款登记", url: "http://www.sohu.com"}
]},
{label: "我要进行变更税务登记", url: "http://www.javaeye.com"},
{label: "我要进行停、复业登记"},
{label: "我要进行注销登记"}
]},
{label: "发票管理", children: [
{label: "我要购买FAPIAO"},
{label: "我要代开FAPIAO"},
{label: "我要验旧、缴销FAPIAO"},
{label: "我遗失了FAPIAO"}
]},
{label: "纳税申报", children: [
{label: "我要上门申报"},
{label: "我要网上申报"},
{label: "我十分想申报个税"}
]},
{label: "涉税申请", children: []}
]};
private var currentMenuItemIndex:int = 0;
private function showMenu(data:Object):void
{
var menuButton:Button = new Button();
menuButton.data = data;
menuButton.label = data.label;
menuButton.addEventListener(MouseEvent.CLICK, menuClickHandler);
menuButton.styleName = "menuButton";
menuBar.addChild(menuButton);
showMenuItems(data);
}
private function showMenuItems(data:Object):void
{
var menuItemList:Array = data.children as Array;
var menuItemButtonList:Array = [];
menuItemBox.removeAllChildren();
for (var i:int = 0; i < menuItemList.length; i++)
{
var menuItemButton:Button = new Button();
menuItemButton.data = menuItemList[i];
menuItemButton.label = menuItemList[i].label;
menuItemButton.x = 280;
menuItemButton.y = i * 30;
menuItemButton.width = 180;
menuItemButton.addEventListener(MouseEvent.CLICK, menuItemClickHandler);
menuItemButton.styleName = "menuItemButton";
menuItemBox.addChild(menuItemButton);
menuItemButtonList.push(menuItemButton);
}
fadeEffect.duration = 150 * menuItemButtonList.length;
fadeEffect.play(menuItemButtonList);
currentMenuItemIndex = -1;
effectEndHandler(null);
}
private function menuClickHandler(event:MouseEvent):void
{
var currentMenuButton:Button = null;
if (event)
currentMenuButton = event.target as Button;
if (currentMenuButton)
{
var menuButtonCount:int = menuBar.getChildIndex(currentMenuButton) + 1;
while (menuBar.numChildren > menuButtonCount)
menuBar.removeChildAt(menuBar.numChildren - 1);
showMenuItems(currentMenuButton.data);
}
else
{
showMenu(menuData);
}
}
private function menuItemClickHandler(event:MouseEvent):void
{
var menuItemButton:Button = event.target as Button;
var data:Object = menuItemButton.data;
if (data.hasOwnProperty("children"))
{
showMenu(data);
}
else if (data.hasOwnProperty("url"))
{
var url:String = data.url;
var urlRequest:URLRequest = new URLRequest(url);
navigateToURL(urlRequest);
}
}
private function effectEndHandler(event:EffectEvent):void
{
currentMenuItemIndex = currentMenuItemIndex + 1;
if (currentMenuItemIndex < menuItemBox.numChildren)
moveEffect.play([menuItemBox.getChildAt(currentMenuItemIndex)]);
}
]]>
</mx:Script>
<mx:Fade id="fadeEffect"
alphaFrom="0" alphaTo="1" />
<mx:Move id="moveEffect"
duration="150" xFrom="200" xTo="100"
effectEnd="effectEndHandler(event)" />
<mx:VBox width="100%" height="100%">
<mx:HBox id="menuBar" width="100%" height="27" />
<mx:Canvas id="menuItemBox"
width="280" height="100%" horizontalScrollPolicy="off" />
</mx:VBox>
</mx:Application>
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
creationComplete="{menuClickHandler(null)}">
<mx:Style>
.menuButton
{
fontSize: 12;
fontStyle: normal;
fontWeihgt: normal;
}
.menuItemButton
{
fontSize: 12;
fontStyle: normal;
fontWeihgt: normal;
}
</mx:Style>
<mx:Script>
<![CDATA[
import flash.events.MouseEvent;
import mx.controls.Button;
import mx.events.EffectEvent;
private var menuData:Object = {label: "场景导航", children: [
{label: "SHUIFU登录", children: [
{label: "我要进行设立SHUIFU登记", children: [
{label: "一般SHUIFU登记"},
{label: "临时SHUIFU登记"},
{label: "扣缴税款登记"}
]},
{label: "我要进行变更SHUIFU登记"},
{label: "我要进行停、复业登记"},
{label: "我要进行注销登记"}
]},
{label: "FAPIAO管理", children: [
{label: "我要购买FAPIAO"},
{label: "我要代开FAPIAO"},
{label: "我要验旧、缴销FAPIAO"},
{label: "我遗失了FAPIAO"}
]},
{label: "纳税申报", children: [
{label: "我要上门申报"},
{label: "我要网上申报"},
{label: "我十分想申报个税"}
]},
{label: "涉税申请", children: []}
]};
private var currentMenuItemIndex:int = 0;
private function showMenu(data:Object):void
{
var menuButton:Button = new Button();
menuButton.data = data;
menuButton.label = data.label;
menuButton.addEventListener(MouseEvent.CLICK, menuClickHandler);
menuButton.styleName = "menuButton";
menuBar.addChild(menuButton);
showMenuItems(data);
}
private function showMenuItems(data:Object):void
{
var menuItemList:Array = data.children as Array;
var menuItemButtonList:Array = [];
menuItemBox.removeAllChildren();
for (var i:int = 0; i < menuItemList.length; i++)
{
var menuItemButton:Button = new Button();
menuItemButton.data = menuItemList[i];
menuItemButton.label = menuItemList[i].label;
menuItemButton.x = 280;
menuItemButton.y = i * 30;
menuItemButton.width = 180;
menuItemButton.addEventListener(MouseEvent.CLICK, menuItemClickHandler);
menuItemButton.styleName = "menuItemButton";
menuItemBox.addChild(menuItemButton);
menuItemButtonList.push(menuItemButton);
}
fadeEffect.duration = 150 * menuItemButtonList.length;
fadeEffect.play(menuItemButtonList);
currentMenuItemIndex = -1;
effectEndHandler(null);
}
private function menuClickHandler(event:MouseEvent):void
{
var currentMenuButton:Button = null;
if (event)
currentMenuButton = event.target as Button;
if (currentMenuButton)
{
var menuButtonCount:int = menuBar.getChildIndex(currentMenuButton) + 1;
while (menuBar.numChildren > menuButtonCount)
menuBar.removeChildAt(menuBar.numChildren - 1);
showMenuItems(currentMenuButton.data);
}
else
{
showMenu(menuData);
}
}
private function menuItemClickHandler(event:MouseEvent):void
{
var menuItemButton:Button = event.target as Button;
var data:Object = menuItemButton.data;
if (data.hasOwnProperty("children"))
showMenu(data);
}
private function effectEndHandler(event:EffectEvent):void
{
currentMenuItemIndex = currentMenuItemIndex + 1;
if (currentMenuItemIndex < menuItemBox.numChildren)
moveEffect.play([menuItemBox.getChildAt(currentMenuItemIndex)]);
}
]]>
</mx:Script>
<mx:Fade id="fadeEffect"
alphaFrom="0" alphaTo="1" />
<mx:Move id="moveEffect"
duration="150" xFrom="200" xTo="100"
effectEnd="effectEndHandler(event)" />
<mx:VBox width="100%" height="100%">
<mx:HBox id="menuBar" width="100%" height="27" />
<mx:Canvas id="menuItemBox"
width="280" height="100%" horizontalScrollPolicy="off" />
</mx:VBox>
</mx:Application>