menu菜单栏

import flash.net.URLLoader;
import flash.events.Event;
import flash.net.URLRequest;
import flash.events.MouseEvent;

var url:String="xml/config.xml";
var xml:XML;
var len:int;
var arr_title:Array=[];
var arr_url:Array=[];
var _oldNavi:Navi;


loadXML(url);

function loadXML(url:String):void {
	var xmlLoader:URLLoader=new URLLoader();
	xmlLoader.addEventListener(Event.COMPLETE,xmlLoaded,false,0,true);
	xmlLoader.load(new URLRequest(url));
}

function xmlLoaded(e:Event):void {
	xml=XML(e.currentTarget.data);
	len=xml.navi.length();

	for (var i:int=0; i<len; i++) {
		var _title:String=xml.navi[i].@title;
		arr_title[i]=_title;

		var _url:String=xml.navi[i].@url;
		arr_url[i]=_url;
	}

	for (var j:int=0; j<len; j++) {
		var navi:Navi=new Navi();
		navi.name="navi"+j;
		navi.tf_navi.text=arr_title[j];
		bg.addChild(navi);
		navi.x=250+j*navi.width;
		navi.y=2;
		navi.area.buttonMode=true;
		if (j==len-1) {
			navi._line.visible=false;
		}

		navi.area.addEventListener(MouseEvent.MOUSE_OVER,onNaviOver,false,0,true);
		navi.area.addEventListener(MouseEvent.MOUSE_OUT,onNaviOut,false,0,true);
		navi.area.addEventListener(MouseEvent.CLICK,onNaviClicked,false,0,true);
	}
}

function onNaviOver(e:MouseEvent):void {
	var _navi:Navi=e.currentTarget.parent as Navi;
	//trace(_navi.clicked);
	if (! _navi.clicked) {//因为clicked未指定类型,_navi.clicked此刻是undefined,此刻 if 判断 如果已经定义了,那么将颜色设置为白色
		_navi.tf_navi.textColor=0xffff00;
	}
}

function onNaviOut(e:MouseEvent):void {
	var _navi:Navi=e.currentTarget.parent as Navi;
	if (! _navi.clicked) {
		_navi.tf_navi.textColor=0xfffffff;
	}
}

function onNaviClicked(e:MouseEvent):void {
	var _navi:Navi=e.currentTarget.parent as Navi;
	if (_navi!=_oldNavi) {
		if (_oldNavi) {
			_oldNavi.tf_navi.textColor=0xfffffff;
		}
		_oldNavi=_navi;
		_oldNavi.clicked=true;
		_navi.tf_navi.textColor=0xff0000;
	}
	var index:int=int(_navi.name.slice(4));
	//navigateToURL(new URLRequest(arr_url[index]),"_blank");
}
posted @ 2010-06-22 22:49  LT世纪  阅读(157)  评论(0编辑  收藏  举报