加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

flex 滚动信息 flexMarquee.mxml,消息从各个方向出来的都有

发布时间:2020-12-15 05:07:25 所属栏目:百科 来源:网络整理
导读:原文件: ?xml version="1.0" encoding="utf-8"? mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" horizontalAlign="left" width="550" height="550" layout="vertical" xmlns:local="*" ?mx:Label text="文字垂直滚动:" fontWeight="bold" fontS

原文件:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" horizontalAlign="left" width="550" height="550" layout="vertical" xmlns:local="*">
?<mx:Label text="文字垂直滚动:" fontWeight="bold" fontSize="13"/>
?<mx:HBox>
?<local:flexMarquee width="245" height="200" mode="vb2t" dropShadowEnabled="false" durationTime="6000"
?? title="公告板" titleIcon="@Embed(source='assets/gg.png')"
?? marqueeText="some text here&lt;br&gt;some text here&lt;br&gt;some text here"/>
?<local:flexMarquee width="245" height="200" mode="vt2b" dropShadowEnabled="false" durationTime="6000"
?? title="公告板" titleIcon="@Embed(source='assets/gg.png')"
?? marqueeText="some text here&lt;br&gt;some text here&lt;br&gt;some text here"/>
?</mx:HBox>
?<mx:Label text="文字水平从右往左滚动:" fontWeight="bold" fontSize="13"/>
?<local:flexMarquee width="500" height="200" mode="hr2l" dropShadowEnabled="false" durationTime="7000"
?? title="公告板" titleIcon="@Embed(source='assets/gg.png')"
?? marqueeText="some text here&lt;br&gt;some text here&lt;br&gt;some text here"/>
?<mx:Label text="文字水平从右往左滚动(无标题,带HTML标签):" fontWeight="bold" fontSize="13"/>
?<local:flexMarquee width="500" height="200" mode="hr2l" dropShadowEnabled="false" durationTime="7000"
?? marqueeText="&lt;font color='#ff0000'&gt;1. some text here&lt;/font&gt;&lt;br&gt;&lt;font color='#ff0000'&gt;2. &lt;a href='http://sports.sina.com.cn/nba' target='_blank'&gt;链接到新浪NBA&lt;/a&gt;&lt;/font&gt;&lt;br&gt;some text here"/>
?<mx:Label text="文字水平从左往右滚动:" fontWeight="bold" fontSize="13"/>
?<local:flexMarquee width="500" height="200" mode="hl2r" dropShadowEnabled="false" durationTime="7000"
?? title="公告板" titleIcon="@Embed(source='assets/gg.png')"
?? marqueeText="some text here&lt;br&gt;some text here&lt;br&gt;some text here"/>
</mx:Application>

组件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("&lt;br&gt;")>=0){
??????tempA=marqueeText.split("&lt;br&gt;");
??????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
???{
????move_up.pause();
???//pause
???}

???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>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读