`

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是一个流行的原型设计工具,允许设计师快速构建...

    基于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)开发,...

    Web界面框架

    Web界面框架是构建高效、可维护且用户友好的Web应用程序的关键工具。它们为开发者提供了丰富的功能,如数据绑定、路由管理、组件化、状态管理以及样式处理,极大地简化了前端开发流程。在“Web界面框架”这个主题下...

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

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

    UI框架 界面框架 WEB框架

    界面框架是指一种基于 WEB 的界面解决方案,提供了一整套的界面组件、模块和工具,帮助开发者快速地开发出功能强大、美观的 WEB 应用程序。界面框架通常包括了各种界面组件,如首页、列表、表单、导航菜单等,并提供...

    C# web 漂亮的界面及组件

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

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

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

    web课程设计---设计一个网站

    Web设计涵盖了网页布局、色彩搭配、图形设计等多个方面,旨在提供用户友好的界面和流畅的交互体验。在这个项目中,我们的目标是设计一个关于中国文化馆的网站,因此,设计时需要充分考虑中国元素的融入,如传统图案...

    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,允许用户...

    基于web的教育信息化产品开发-阅读辅助平台vue组件化的开发与实现 毕业论文.docx

    基于web的教育信息化产品开发-阅读辅助...本文讨论了基于web的教育信息化产品开发-阅读辅助平台的vue组件化开发与实现,涵盖了前端框架技术、阅读辅助平台的需求分析、VUE组件化概念和Vue组件化的开发与实现等知识点。

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

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

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

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

    将Vue组件包装为Web组件自定义元素

    Vue组件是Vue.js的核心特性之一,它允许我们通过定义不同的模块来拆分复杂的用户界面,每个模块都具有自己的视图和逻辑。Web组件则由CustomElements API定义,包括`window.customElements.define()`方法,它允许我们...

    基于GWT和J2EE的Web开发框架的设计实现与应用

    ### 基于GWT和J2EE的Web开发框架的设计实现与应用 #### 概述 随着互联网技术的发展,Web应用程序的用户界面设计也经历了重大的转变。传统的Web应用程序通常依赖于服务器端生成HTML页面,然后将其发送到客户端进行...

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

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

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

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

Global site tag (gtag.js) - Google Analytics