微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

flexMarquee 组件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
   {
    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>

原文地址:https://www.jb51.cc/vb/260876.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐