·您当前的位置:首页 > 技术教程 > AS2与AS3技术 >

[AS3]as3分页代码示例:分页后自动居中写法示例

时间:2013-01-09 10:05cnblogs.com
[AS3]as3分页代码示例:分页后自动居中写法示例

[AS3]as3分页代码示例:分页后自动居中写法示例

  1. package myapp.view  
  2. {  
  3.  import flash.display.Loader;  
  4.  import flash.events.MouseEvent;  
  5.  import flash.net.URLRequest;  
  6.    
  7.  import myapp.model.RoomProxy;  
  8.    
  9.  import org.puremvc.as3.interfaces.IMediator;  
  10.  import org.puremvc.as3.patterns.mediator.Mediator;  
  11.  
  12.  public class ActorListMediator extends Mediator implements IMediator  
  13.  {  
  14.   static public const NAME:String = "ActorListMediator";  
  15.     
  16.   private var _al:actorList;  
  17.     
  18.   private var _od:int = 0;  
  19.     
  20.   private var _allArray:Array;  
  21.     
  22.   private var _sa:actorCell;  
  23.     
  24.   public var _goHall:Boolean = false;  
  25.     
  26.   public function ActorListMediator(obj:Object=null)  
  27.   {  
  28.    super(NAME, obj);  
  29.    _al.x=6;  
  30.    _al.y=138;  
  31.    initPageBtn();  
  32.    main.addChild(_al);  
  33.   }  
  34.  
  35.   /**  
  36.    * CuPlayer.com改变页数的方法  
  37.    * ---------------------------↓ 总页数-------↓ 当前页数  
  38.    **/  
  39.   private function doChangePage(pageCount:int,nowPage:int):void{  
  40.    //间距 27  
  41.    if(pageCount == nowPage){  
  42.     _al.btnDown.visible = false;  
  43.     _al.btnUp.visible = true;  
  44.    }  
  45.    if(nowPage == 1){  
  46.     _al.btnDown.visible = true;  
  47.     _al.btnUp.visible = false;  
  48.    }  
  49.    if(pageCount == 1){  
  50.     _al.btnDown.visible = false;  
  51.     _al.btnUp.visible = false;  
  52.    }  
  53.  
  54.    for(var i:uint = 1;i<11;i++){  
  55.     if(i<=pageCount){  
  56.      _al["btn"+i+""].visible = true;  
  57.     }  
  58.     _al["btn"+i+""].txt.text = i;  
  59.     _al["btn"+i+""].addEventListener(MouseEvent.CLICK,pageBtnClick);  
  60.    }  
  61.       
  62.    _al.btnUp.addEventListener(MouseEvent.CLICK,pageBtnClick);  
  63.    _al.btnDown.addEventListener(MouseEvent.CLICK,pageBtnClick);  
  64.      
  65.    _al_al.btnMask.x = _al["btn"+nowPage+""].x;  
  66.    _al_al.btnMask.txt.text =  _al["btn"+nowPage+""].txt.text;  
  67.   }  
  68.     
  69.   public function get getMain():Main{  
  70.    return viewComponent as Main;  
  71.   }  
  72.  
  73.  
  74.   private function initPageBtn():void{  
  75.    for(var i:uint = 1;i<11;i++){  
  76.     _al["btn"+i+""].visible = false;  
  77.    }  
  78.    _al.btnDown.txt.text = "下一页";  
  79.   }  
  80.     
  81.   private function pageBtnClick(e:MouseEvent):void{  
  82.    switch(e.target.txt.text){  
  83.     case "1":_al.btnUp.visible = false;  
  84.       _al.btnDown.visible = true;break;  
  85.     //case Math.ceil(_allArray.length/12)+"":_al.btnUp.visible = true;  
  86.     case "20":_al.btnUp.visible = true;  
  87.       _al.btnDown.visible = false;break;  
  88.      default :  
  89.      //不是第一个,也不是最后一个,中间的情况,如果点击第6个,位移←,  
  90.      btnMove(e.target.txt.text,e.target.name);  
  91.    }  
  92.   }  
  93.     
  94.   /**  
  95.    * 根据按钮名字所判断执行的操作  
  96.    * ---------------------↓ 页数------↓ 被点中的按钮名称  
  97.    **/  
  98.   private function btnMove(txt:String,name:String):void{  
  99.    switch(name){  
  100.     case "btn1":doMove(4,false,parseInt(txt));break;  
  101.     case "btn2":doMove(3,false,parseInt(txt));break;  
  102.     case "btn3":doMove(2,false,parseInt(txt));break;  
  103.     case "btn4":doMove(1,false,parseInt(txt));break;  
  104.     case "btn5":if(Math.ceil(_allArray.length/12)==5){  
  105.         _al.btnUp.visible = true;  
  106.         _al.btnDown.visible = false;  
  107.        }else{  
  108.         _al.btnUp.visible = true;  
  109.        }break;  
  110.     case "btn6":doMove(1,true,parseInt(txt));break;  
  111.     case "btn7":doMove(2,true,parseInt(txt));break;  
  112.     case "btn8":doMove(3,true,parseInt(txt));break;  
  113.     case "btn9":doMove(4,true,parseInt(txt));break;  
  114.     case "btn10":doMove(5,true,parseInt(txt));break;  
  115.     case "btnUp":doMove(1,false,parseInt(txt),1);break;  
  116.     case "btnDown":doMove(1,true,parseInt(txt),2);break;  
  117.    }  
  118.   }  
  119.     
  120.   /**  
  121.    * --------------------↓移动数量-------↓移动方向-----------  
  122.    * -------------------------------点中的页数--↓是否上页-1是,2下页,3其他↓  
  123.    **/  
  124.   private function doMove(moveTotal:int,direction:Boolean,txt:int,isUp:int=3):void{  
  125.    var temp:int;  
  126.    //上页可能出现没有第2页的问题,这个是中间变量!  
  127.    var tr:Boolean = false;  
  128.    if(isUp == 1){  
  129.     txt = parseInt(_al.btnMask.txt.text);  
  130.     txt--;  
  131.     tr = true;  
  132.    }  
  133.    if(isUp == 2){  
  134.     txt = parseInt(_al.btnMask.txt.text);  
  135.     txt++;  
  136.    }  
  137.    if(txt<=5 && _al.btn1.txt.text == "1"){  
  138.     if(txt == 1){  
  139.      _al.btnUp.visible = false;  
  140.     }else{  
  141.      _al.btnUp.visible = true;  
  142.     }  
  143.     for(var i2:int = 1;i2<=5;i2++){  
  144.      temp = parseInt(_al["btn"+i2].txt.text);  
  145.      if(temp == txt){  
  146.       _al_al.btnMask.x = _al["btn"+i2].x;  
  147.       _al_al.btnMask.txt.text = _al["btn"+i2].txt.text;  
  148.      }  
  149.     }  
  150.     return;  
  151.    }  
  152.    //if((txt+5) >= Math.ceil(_allArray.length/12) && parseInt(_al.btn10.txt.text) == Math.ceil(_allArray.length/12)){  
  153.    if((txt+5)>=(20) && _al.btn10.txt.text == "20"){  
  154.     //if(txt == Math.ceil(_allArray.length/12))  
  155.     if(txt == 20){  
  156.      _al.btnDown.visible = false;  
  157.     }else{  
  158.      _al.btnDown.visible = true;  
  159.     }  
  160.     for(var i3:int = 5;i3<=10;i3++){  
  161.      temp = parseInt(_al["btn"+i3].txt.text);  
  162.      if(temp == txt){  
  163.       _al_al.btnMask.x = _al["btn"+i3].x;  
  164.       _al_al.btnMask.txt.text = _al["btn"+i3].txt.text;  
  165.      }  
  166.     }  
  167.     return;  
  168.    }  
  169.      
  170.    if(direction){  
  171.     //公式  
  172.     //moveTotal>Math.ceil(_allArray.length/12)?Math.ceil(_allArray.length/12)-  
  173.     moveTotal = parseInt(_al["btn10"].txt.text)+moveTotal>20?20-parseInt(_al["btn10"].txt.text):moveTotal;  
  174.     for(var i:int=1;i<11;i++){  
  175.      temp = parseInt(_al["btn"+i].txt.text)+moveTotal;  
  176.      _al["btn"+i].txt.text = temp+"";  
  177.        
  178.      if(parseInt(_al["btn"+i].txt.text) == txt){  
  179.       _al_al.btnMask.x = _al["btn"+i].x;  
  180.       _al_al.btnMask.txt.text = _al["btn"+i].txt.text;  
  181.      }  
  182.     }  
  183.     _al.btnUp.visible = true;  
  184.    }else{  
  185.     //公式  
  186.     moveTotal = parseInt(_al["btn1"].txt.text)-moveTotal<0?moveTotal-(moveTotal-parseInt(_al["btn1"].txt.text)):moveTotal;  
  187.       
  188.     for(var j:int=1;j<11;j++){  
  189.      if(tr){  
  190.       temp = parseInt(_al["btn"+j].txt.text)-moveTotal;  
  191.      }else{  
  192.       if(parseInt(_al["btn1"].txt.text)-moveTotal == 0){  
  193.        temp = parseInt(_al["btn"+j].txt.text)-moveTotal+1;  
  194.       }else{  
  195.        temp = parseInt(_al["btn"+j].txt.text)-moveTotal;  
  196.        try{  
  197.         if(temp == parseInt(_al["btn"+(j-1)].txt.text)){  
  198.          temp ++;  
  199.         }  
  200.        }catch(e:Error){}  
  201.       }  
  202.      }  
  203.      _al["btn"+j].txt.text = temp+"";  
  204.      if(parseInt(_al["btn"+j].txt.text) == txt){  
  205.       _al_al.btnMask.x = _al["btn"+j].x;  
  206.       _al_al.btnMask.txt.text = _al["btn"+j].txt.text;  
  207.      }  
  208.     }  
  209.     _al.btnDown.visible = true;  
  210.    }  
  211.   }  
  212.  }  

 

热门文章推荐

请稍候...

保利威视云平台-轻松实现点播直播视频应用

酷播云数据统计分析跨平台播放器