`

web界面框架的设计之二--LinkBar组件实现顶级菜单

    博客分类:
  • flex
阅读更多

利用LinkBar 实现菜单功能,代码:

<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="400" height="60"
	 creationComplete="topinit()" >
	 <mx:Style>
	 	.linkbarset
	 	{
	 		rollOverColor:#93a9b4;
	 	}
	 </mx:Style>
	 <mx:Metadata>
    	[Event(name="topOpEvent","MyEvent.TopEvent")]
    </mx:Metadata>
	<mx:Script>
		<![CDATA[
			import mx.collections.Sort;
			import Modules.MainPage;
			import ValueObject.User;
			import mx.events.ItemClickEvent;
			import mx.rpc.remoting.mxml.RemoteObject;
			import mx.rpc.AsyncToken;
			import mx.rpc.AbstractOperation;
			import mx.rpc.AsyncResponder;
			import mx.collections.ArrayCollection; 
			import mx.collections.Sort;
			import mx.collections.SortField;
			import mx.controls.Alert;
			import mx.rpc.events.ResultEvent;
			import components.MenuPage;
			import MyEvent.TopEvent;
					
			public var MenuRo:RemoteObject;
			public var SessionService:RemoteObject;
			public var menuPage:MenuPage;
			
			
			[Bindable]
            [Embed(source="images/1.gif")]
            private var img1:Class;
            
            [Bindable]
            [Embed(source="images/2.gif")]
            private var img2:Class;
            
            [Bindable]
            [Embed(source="images/3.gif")]
            private var img3:Class;
            
            [Bindable]
            [Embed(source="images/4.gif")]
            private var img4:Class;
            
            [Bindable]
            [Embed(source="images/5.gif")]
            private var img5:Class;
            
            [Bindable]
            [Embed(source="images/6.gif")]
            private var img6:Class;
            
            private var imgclass:Class;
            private var array:Array = new Array();
            
            private var imgStr:Array = new Array(img1,img2,img3,img4,img5,img6);
            private var sortStr:Array = new Array(1,2,3,4,5,6);
            
            private var _user:User = new User();

			private function topinit():void
		    {
		    	MenuRo = new RemoteObject("menuService"); 
		    	
		    	var menuToken:AsyncToken ;
				var operation:AbstractOperation = MenuRo.getOperation("getMenu");
				menuToken = operation.send();
				menuToken.addResponder(new AsyncResponder(success,null));   
				
				
		    }
		    
		    //初始化顶级菜单
			private function success(result:Object,token:Object=null):void
			{
				var eve:ResultEvent = result as ResultEvent;
				if(eve.result != null)
				{					
					var arrayOr:ArrayCollection = eve.result as ArrayCollection;
					for(var i:int =0;i<arrayOr.length;i++){
						var objOr:Object = arrayOr[i];
						for(var j:int=0;j<sortStr.length;j++){
							if(sortStr[j]==objOr["sort"]){
								imgclass = imgStr[j];
							} 
						}
						array.push({data:objOr["id"],hreflink:objOr["hreflink"],img:imgclass,sort:objOr["sort"]});
					}
					var arrayCollection:ArrayCollection = new ArrayCollection(array);
					var sort:Sort = new Sort;
					
					//默认是按照升序排序的
					sort.fields = [new SortField("sort")];
					arrayCollection.sort = sort;
					topLinkBar.dataProvider=arrayCollection;
				}
			}
		    
		    public function getLeftTree(e:ItemClickEvent):void
			{
				var menuToken:AsyncToken ;
				var operation:AbstractOperation = MenuRo.getOperation("getTree");
				menuToken = operation.send(e.item.data);
				menuToken.addResponder(new AsyncResponder(treeSuccess,null));      
			}
			
			//树回调函数
			 private function treeSuccess(result:Object,token:Object=null):void
			{
				var eve:ResultEvent = result as ResultEvent;
				if(eve.result != null)
				{		
					 var returnString:String = eve.result as String;
					 var treeDate:XML = new XML(returnString);
					 var topEvent:TopEvent = new TopEvent("topOpEvent",treeDate);
				     dispatchEvent(topEvent);
				}
			} 
			
			
		]]>
	</mx:Script>
	<mx:HBox x="0" y="0" width="100%" height="100%">
		<mx:Label text="交易公示网" height="100%" width="300" fontSize="36" fontStyle="italic" textAlign="center"/>
		<mx:LinkBar width="100%" height="100%" id="topLinkBar" borderStyle="none" 
			iconField="img"  horizontalAlign="right" linkButtonStyleName="linkbarset" itemClick="getLeftTree(event)" >
		</mx:LinkBar>
		<mx:Spacer width="20" />
	</mx:HBox>
	
</mx:Canvas>

 

  • 大小: 11.1 KB
分享到:
评论
4 楼 zuoweizwzw 2010-03-07  
aishangtao 写道
楼主JS挺强悍的啊。

哪个是js?
3 楼 amcucn 2010-03-05  
aishangtao 写道
楼主JS挺强悍的啊。


看清楚哦,这可不是JS,而是正宗的AS
不过我觉得楼主只是贴代码,那就没必要发到这上面来了。浪费大家的时间。
2 楼 minzaipiao 2010-03-05  
又是一大篇的代码,有没有预览图
1 楼 aishangtao 2010-03-05  
楼主JS挺强悍的啊。

相关推荐

    最新版ElementUI-web-Axure组件库

    最新版的ElementUI-web-Axure组件库是针对Axure RP 9.0设计的,它为产品设计师提供了丰富的交互式组件,使得在原型设计阶段就能实现类似真实应用的效果。 Axure RP是一个流行的原型设计工具,允许设计师快速构建...

    好用简单漂亮在WEB界面框架

    1. **什么是WEB界面框架**:WEB界面框架是一组预先设计和编码的组件库,用于简化网页界面的开发过程。这些框架通常包括CSS样式、JavaScript库和HTML模板,以实现一致的设计风格、响应式布局和交互功能。 2. **...

    基于C的OpenWrt Web界面开发框架设计源码

    本源码是基于C开发的OpenWrt Web界面开发框架设计,包含152个文件,其中包括45个.json文件,22个.js文件,17个.md文件,17个.vue文件,以及11个.lua文件。此外,还包括4个.c文件,3个.yml文件,3个.mk文件,2个.svg...

    QT主菜单界面框架

    QT主菜单界面框架是软件开发中的一个重要组成部分,尤其在创建桌面应用时,它为用户提供了一种组织和访问功能的直观方式。QT是一个流行的开源跨平台应用程序开发框架,由Trolltech公司(现为The Qt Company)开发,...

    C# web 漂亮的界面及组件

    综上所述,C# Web开发中漂亮的界面和组件设计涉及多方面的技术,包括但不限于使用ASP.NET框架、Bootstrap和CSS进行布局,利用JavaScript和jQuery实现交互效果,以及通过自定义CSS样式来优化按钮、表单和时间显示等...

    非常漂亮的类Web界面的Delphi设计

    开发者可以通过研究这些资源,学习如何将它们集成到自己的Delphi项目中,实现类Web的界面设计。 总的来说,利用Delphi设计类Web界面是一种巧妙的融合,它允许开发者充分利用桌面应用的优势,同时带给用户类似Web的...

    Web系统框架课程设计-毕设选导师系统-JavaScript前端.zip

    Web系统框架课程设计-毕设选导师系统-JavaScript前端。已获高分通过项目。内附使用方法。自己可以动手不求人。 项目结构 App.jsx 为全局入口,routes/index.js 存放路由表,components 存放一般组件,pages 存放路由...

    java web下开发二级级联下拉菜单(数据库实现的)

    在Java Web开发中,二级级联下拉菜单是一种常见的用户界面元素,用于提供层次结构的选择。这个场景中,我们利用数据库存储数据,并通过后端处理逻辑动态生成这些下拉菜单。下面将详细介绍如何使用MySQL数据库来实现...

    AXURE Ant Design 4.40 - web组件库 ant design pro 后台模板 产品经理

    标题中的“AXURE Ant Design 4.40 - web组件库 ant design pro 后台模板 产品经理”指的是一款基于Axure设计工具的组件库,它整合了Ant Design Pro的4.40版本的Web界面元素和后台管理模板,特别适用于产品经理进行...

    AXURE组件-web折叠菜单交互.rp

    AXURE组件-web折叠菜单交互.rp

    Web界面设计规范(Web Form的UI设计)

    Web 界面设计规范详解 本文将详细介绍 Web 界面设计规范,包括界面设计的目的、适用范围、文件命名规范、控件命名规范、控件外观规范和界面设计规范等方面的知识点。 一、界面设计的目的 界面设计的目的是为了使...

    一个非常好用的前端框架,拖拽复制就能用

    2. **响应式设计**:考虑到现代Web应用需要在不同设备上展示良好,框架可能会提供响应式布局,使得界面能自适应手机、平板和桌面电脑等不同屏幕尺寸。 3. **拖拽功能**:这通常意味着框架内置了拖放API,允许用户...

    HAP框架-LigerUI常用组件使用手册.docx

    LigerUI是HAP框架的前端组件库,提供了许多常用的UI组件,旨在帮助开发者快速构建高质量的用户界面。 1.1. 适用框架 HAP框架是基于MVC模式的应用框架,旨在帮助开发者快速构建高质量的Web应用程序。HAP框架提供了...

    Web 应用程序框架组件参考指南

    根据给定的文件信息,我们可以深入探讨Web应用程序框架组件及其在构建现代Web应用中的关键作用。这份《Web应用程序框架组件参考指南》不仅是一份技术文档,更是开发人员理解和掌握Web应用构建基石的重要资料。 ### ...

    VueCircleMenu一个利用Vuejs实现的漂亮圆形菜单

    VueCircleMenu是一个基于Vue.js框架开发的精美圆形菜单组件,专为前端开发者设计,用于创建具有吸引力和用户体验友好的交互式界面。Vue.js是目前非常流行的一个轻量级、高性能的JavaScript框架,它以组件化开发为...

    EXT技术在Web界面设计与实现中的应用研究.pdf

    ### EXT技术在Web界面设计与实现中的应用研究 #### 一、引言 随着互联网技术的飞速发展,Web应用程序已经成为现代软件开发的重要组成部分。相较于传统的客户端/服务器(C/S)架构,基于浏览器/服务器(B/S)架构的...

    Delphi+Web前端开发教程基于TMS+WEB+Core框架.pdf

    TMS WEB Core是首个实现100%纯HTML/JS应用的Delphi框架,这意味着开发者可以创建无需二进制文件或可执行文件的Web应用程序。这一特性使得应用程序可以直接部署到任何托管服务器,极大地简化了分发和部署过程。对于...

    软件界面设计工具_3款合集

    可使用标准Windows元素创建图形用户界面(GUI)屏幕,包括框架窗口、会话、菜单、工具栏、标签、按钮、复选框、单选按钮、滚动条、滑动调节框、微调框、组合框、树列表、列表框、编辑框以及静态文本等。 通过现有...

    新MVC框架(带菜单权限)

    新MVC框架(带菜单权限)是一个基于.NET MVC5技术栈构建的权限管理系统。...通过学习和实践这些知识点,开发者不仅可以理解和使用这个“新MVC框架(带菜单权限)”,还可以进一步提升自己的.NET Web开发技能。

    Axure 使用ElementUI组件的 web后台管理

    ElementUI是阿里巴巴旗下的饿了么团队开发的一套开源UI框架,它为Vue.js提供了一系列易于使用、美观的组件,如表格、按钮、提示、下拉菜单等,大大简化了前端开发流程。其组件设计简洁、响应式,适合构建企业级后台...

Global site tag (gtag.js) - Google Analytics