flex 滚动信息 flexMarquee.mxml,消息从各个方向出来的都有
原文件: <?xml version="1.0" encoding="utf-8"?> 组件flexMarquee.mxml的代码 <?xml version="1.0" encoding="utf-8"?><mx:Panel xmlns:mx=" http://www.adobe.com/2006/mxml" creationComplete="complete()" ?fontSize="13" horizontalCenter="0" verticalCenter="0" borderThicknessLeft="2" borderThicknessBottom="2" ? borderThicknessRight="2" borderThicknessTop="2"> ?<mx:Script> ??<![CDATA[ ???import mx.controls.Alert; ???private var durationtime:Number; ???public var durationTime:Number=5000; ???public var mode:String="vb2t";//vb2t:下往上滚动;vt2b:上往下滚动;hl2r:左往右滚动;hr2l:右往左滚动 ???public var marqueeText:String="flexMarquee text here<br>flexMarquee text here<br>flexMarquee text here<br>flexMarquee text here<br>flexMarquee text here<br>flexMarquee text here<br>flexMarquee text here<br>flexMarquee text here<br>flexMarquee text here<br>flexMarquee text here<br>flexMarquee text here<br>flexMarquee text here<br>flexMarquee text here<br>flexMarquee text here<br>flexMarquee text here<br>flexMarquee text here"; ??? ???private function complete():void ???{ ????if(this.title==""){ ?????this.setStyle("headerHeight",0); ?????//重新定义cs的高度 ?????cs.height+=28; ????} ????//假如没有标题,将PANEL的headerHeight设为0 ????if(mode=="hl2r" || mode=="hr2l"){ ?????tt.height=25; ?????this.height=(this.title==""?28:60); ?????cs.height=23; ?????tt.x=3; ?????tt.y=1; ?????var tempA:Array; ?????if(marqueeText.indexOf("<br>")>=0){ ??????tempA=marqueeText.split("<br>"); ??????marqueeText=tempA.join("??? "); ?????} ?????if(marqueeText.indexOf("<br>")>=0){ ??????tempA=marqueeText.split("<br>"); ??????marqueeText=tempA.join("??? "); ?????} ????}else{ ?????tt.width=cs.width-6; ?????tt.x=3; ?????tt.y=1; ????} ????tt.htmlText=marqueeText; ????tt.validateNow(); ????if(mode=="hl2r" || mode=="hr2l"){ ?????durationtime=(tt.textWidth<=250?durationTime:Math.round(tt.textWidth/250*durationTime)); ????}else{ ?????durationtime=(tt.textHeight<=250?durationTime:Math.round(tt.textHeight/250*durationTime)); ????} ????//设置文字。若为横向移动,将换行符改为适当的空格 ????//根据不同模式调整区域大小及文字滚动的方向 ????switch(mode){ ?????case "hl2r": ?????? ??????move_up.xFrom=0-tt.textWidth+6; ??????move_up.xTo=cs.width-6; ??????break; ?????case "hr2l": ??????move_up.xFrom=cs.width-6; ??????move_up.xTo=0-tt.textWidth+6; ??????break; ?????case "vt2b": ??????move_up.yFrom=0-tt.textHeight+6; ??????move_up.yTo=cs.height-6; ??????break; ?????default: ??????//Alert.show(tt.height+"---"+tt.textHeight); ??????move_up.yFrom=cs.height - 6; ??????move_up.yTo=0 - tt.textHeight + 6; ????} ????move_up.repeatCount=0; ????//loop ????move_up.repeatDelay=0; ????//loop time ????move_up.duration=durationtime; ????//the time of scroll once ????move_up.play(); ???} ???private function move_pause():void ???private function move_resume():void ???{ ????move_up.resume(); ???//start from the pause position ???} ??]]> ?</mx:Script> ?<mx:Move id="move_up" target="{tt}"/> ?<mx:Canvas id="cs" width="100%" height="100%" left="0" top="0" verticalScrollPolicy="off" horizontalScrollPolicy="off" mouSEOver="move_pause()" mouSEOut="move_resume()"> ??<mx:Text id="tt" left="3" top="1" horizontalCenter="0" verticalCenter="0"> ??</mx:Text> ?</mx:Canvas> </mx:Panel> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |