4月21,学习心的

代码

package myapp.view
{
 import flash.display.Loader;
 import flash.events.MouseEvent;
 import flash.net.URLRequest;
 
 import myapp.model.RoomProxy;
 
 import org.puremvc.as3.interfaces.IMediator;
 import org.puremvc.as3.patterns.mediator.Mediator;

public class ActorListMediator extends Mediator implements IMediator
 {
  static public const NAME:String = "ActorListMediator";
  
  private var _al:actorList;
  
  private var _od:int = 0;
  
  private var _allArray:Array;
  
  private var _sa:actorCell;
  
  public var _goHall:Boolean = false;
  
  public function ActorListMediator(obj:Object=null)
  {
   super(NAME, obj);
   _al.x=6;
   _al.y=138;
   initPageBtn();
   main.addChild(_al);
  }

/**
   * 改变页数的方法
   * ---------------------------↓ 总页数-------↓ 当前页数
   **/
  private function doChangePage(pageCount:int,nowPage:int):void{
   //间距 27
   if(pageCount == nowPage){
    _al.btnDown.visible = false;
    _al.btnUp.visible = true;
   }
   if(nowPage == 1){
    _al.btnDown.visible = true;
    _al.btnUp.visible = false;
   }
   if(pageCount == 1){
    _al.btnDown.visible = false;
    _al.btnUp.visible = false;
   }

for(var i:uint = 1;i<11;i++){
    if(i<=pageCount){
     _al["btn"+i+""].visible = true;
    }
    _al["btn"+i+""].txt.text = i;
    _al["btn"+i+""].addEventListener(MouseEvent.CLICK,pageBtnClick);
   }
    
   _al.btnUp.addEventListener(MouseEvent.CLICK,pageBtnClick);
   _al.btnDown.addEventListener(MouseEvent.CLICK,pageBtnClick);
   
   _al.btnMask.x = _al["btn"+nowPage+""].x;
   _al.btnMask.txt.text =  _al["btn"+nowPage+""].txt.text;
  }
  
  public function get getMain():Main{
   return viewComponent as Main;
  }

private function initPageBtn():void{
   for(var i:uint = 1;i<11;i++){
    _al["btn"+i+""].visible = false;
   }
   _al.btnDown.txt.text = "下一页";
  }
  
  private function pageBtnClick(e:MouseEvent):void{
   switch(e.target.txt.text){
    case "1":_al.btnUp.visible = false;
      _al.btnDown.visible = true;break;
    //case Math.ceil(_allArray.length/12)+"":_al.btnUp.visible = true;
    case "20":_al.btnUp.visible = true;
      _al.btnDown.visible = false;break;
     default :
     //不是第一个,也不是最后一个,中间的情况,如果点击第6个,位移←,
     btnMove(e.target.txt.text,e.target.name);
   }
  }
  
  /**
   * 根据按钮名字所判断执行的操作
   * ---------------------↓ 页数------↓ 被点中的按钮名称
   **/
  private function btnMove(txt:String,name:String):void{
   switch(name){
    case "btn1":doMove(4,false,parseInt(txt));break;
    case "btn2":doMove(3,false,parseInt(txt));break;
    case "btn3":doMove(2,false,parseInt(txt));break;
    case "btn4":doMove(1,false,parseInt(txt));break;
    case "btn5":if(Math.ceil(_allArray.length/12)==5){
        _al.btnUp.visible = true;
        _al.btnDown.visible = false;
       }else{
        _al.btnUp.visible = true;
       }break;
    case "btn6":doMove(1,true,parseInt(txt));break;
    case "btn7":doMove(2,true,parseInt(txt));break;
    case "btn8":doMove(3,true,parseInt(txt));break;
    case "btn9":doMove(4,true,parseInt(txt));break;
    case "btn10":doMove(5,true,parseInt(txt));break;
    case "btnUp":doMove(1,false,parseInt(txt),1);break;
    case "btnDown":doMove(1,true,parseInt(txt),2);break;
   }
  }
  
  /**
   * --------------------↓移动数量-------↓移动方向-----------
   * -------------------------------点中的页数--↓是否上页-1是,2下页,3其他↓
   **/
  private function doMove(moveTotal:int,direction:Boolean,txt:int,isUp:int=3):void{
   var temp:int;
   //上页可能出现没有第2页的问题,这个是中间变量!
   var tr:Boolean = false;
   if(isUp == 1){
    txt = parseInt(_al.btnMask.txt.text);
    txt--;
    tr = true;
   }
   if(isUp == 2){
    txt = parseInt(_al.btnMask.txt.text);
    txt++;
   }
   if(txt<=5 && _al.btn1.txt.text == "1"){
    if(txt == 1){
     _al.btnUp.visible = false;
    }else{
     _al.btnUp.visible = true;
    }
    for(var i2:int = 1;i2<=5;i2++){
     temp = parseInt(_al["btn"+i2].txt.text);
     if(temp == txt){
      _al.btnMask.x = _al["btn"+i2].x;
      _al.btnMask.txt.text = _al["btn"+i2].txt.text;
     }
    }
    return;
   }
   //if((txt+5) >= Math.ceil(_allArray.length/12) && parseInt(_al.btn10.txt.text) == Math.ceil(_allArray.length/12)){
   if((txt+5)>=(20) && _al.btn10.txt.text == "20"){
    //if(txt == Math.ceil(_allArray.length/12))
    if(txt == 20){
     _al.btnDown.visible = false;
    }else{
     _al.btnDown.visible = true;
    }
    for(var i3:int = 5;i3<=10;i3++){
     temp = parseInt(_al["btn"+i3].txt.text);
     if(temp == txt){
      _al.btnMask.x = _al["btn"+i3].x;
      _al.btnMask.txt.text = _al["btn"+i3].txt.text;
     }
    }
    return;
   }
   
   if(direction){
    //公式
    //moveTotal>Math.ceil(_allArray.length/12)?Math.ceil(_allArray.length/12)-
    moveTotal = parseInt(_al["btn10"].txt.text)+moveTotal>20?20-parseInt(_al["btn10"].txt.text):moveTotal;
    for(var i:int=1;i<11;i++){
     temp = parseInt(_al["btn"+i].txt.text)+moveTotal;
     _al["btn"+i].txt.text = temp+"";
     
     if(parseInt(_al["btn"+i].txt.text) == txt){
      _al.btnMask.x = _al["btn"+i].x;
      _al.btnMask.txt.text = _al["btn"+i].txt.text;
     }
    }
    _al.btnUp.visible = true;
   }else{
    //公式
    moveTotal = parseInt(_al["btn1"].txt.text)-moveTotal<0?moveTotal-(moveTotal-parseInt(_al["btn1"].txt.text)):moveTotal;
    
    for(var j:int=1;j<11;j++){
     if(tr){
      temp = parseInt(_al["btn"+j].txt.text)-moveTotal;
     }else{
      if(parseInt(_al["btn1"].txt.text)-moveTotal == 0){
       temp = parseInt(_al["btn"+j].txt.text)-moveTotal+1;
      }else{
       temp = parseInt(_al["btn"+j].txt.text)-moveTotal;
       try{
        if(temp == parseInt(_al["btn"+(j-1)].txt.text)){
         temp ++;
        }
       }catch(e:Error){}
      }
     }
     _al["btn"+j].txt.text = temp+"";
     if(parseInt(_al["btn"+j].txt.text) == txt){
      _al.btnMask.x = _al["btn"+j].x;
      _al.btnMask.txt.text = _al["btn"+j].txt.text;
     }
    }
    _al.btnDown.visible = true;
   }
  }
 }
}

残缺的类,完整的分页片段,给自己参考!

转自:http://fashionwll.blog.163.com/blog/static/8255017720093213117668/

转载于:https://www.cnblogs.com/qiantuwuliang/archive/2010/04/16/1713429.html

as3分页——页数多了后自动居中类似谷歌分页相关推荐

  1. php 分页 页数多,一个php页面多个分页共存

    PHP 分页 写了个php分页的自定义函数,用着感觉挺好: pageFunc($dataNum,$pageSize,$pageName)//记录集,每页显示的条数,分页名 今天突然在想,如果我一个页面 ...

  2. php分页页数过多隐藏,织梦DEDE中内容页分页数目太多时隐藏方法

    在dede程序的文章或图集模型,内容页分页过多,假如分页80页,那么dede默认的内容分页标签{dede:pagebreak/}会把所有的分页都显示出来,这样会撑破网页模板,即使使用css控制可以解决 ...

  3. element ui分页怎么做_element ui里面table分页,页数从0开始的怎么做?

    需求: 后台请求的接口是从0页开始的,但是pagination是从1开始的,就是在点击pagination的第1页是后台转0 1首先在data里面定义为1,其他地方也是定义1 return { for ...

  4. 计算分页页数或索引在第几页

    int totalCount = 100; int totalPageNo = 0; int pageSize = 10;//计算共多少页 totalPageNo = totalCount % pag ...

  5. layui分页组件layPage动态调整总页数

    我的小工程的前端使用了layui,这也是当时临时上网查到的一个框架,感觉风格简约,而且据称对后端开发人员很友好. 在使用layui的过程中,我遇到了一些问题,在这里将几个个人感觉比较棘手的问题列举一下 ...

  6. C#分页的总页数算法

    .Net中通用分页页数计算方式,分页的总页数算法  总记录数:totalRecord 每页最大记录数:maxResult 算法一: totalPage = totalRecord % maxResul ...

  7. php分页代码 页数太多,php google或baidu分页代码

    php实现google与baidu的分页代码,需要的朋友可以参考下. /** 作者:潇湘博客 时间: 2009-11-26 php技术群: 37304662 使用方法: include_once'Pa ...

  8. php分页代码 页数太多,php分页函数示例代码分享

    一例php分页函数代码. 分享一例php分页函数代码,用此函数实现分页代码很不错. 代码,php分页函数. /* * 使用方法: require_once('mypage.php'); $result ...

  9. mysql分页总页数算法解析_详解MySQL的limit用法和分页查询语句的性能分析

    limit用法 在我们使用查询语句的时候,经常要返回前几条或者中间某几行数据,这个时候怎么办呢?不用担心,mysql已经为我们提供了这样一个功能. SELECT * FROM table LIMIT ...

最新文章

  1. 对硕士而言,编制和稳定究竟有多重要?
  2. centos 6.5下KVM环境搭建
  3. 使下拉框某项不可选的方法
  4. 机器学习与数学分析(一)
  5. 了解自定义对象创建:JSON绑定概述系列
  6. java学习(109):StringBuilder,stringbuffer,string区别
  7. scrollTop 用法说明
  8. 将SWF、FLV插入PowerPoint
  9. Python socket non-blocking with SSL 的问题
  10. Centos6.x升级内核方法支持Docker
  11. 1080 MOOC期终成绩(25 分)
  12. SQL200修改服务器IP,如何修改SQL IP地址
  13. rust大量科技零件_20世纪的黑科技有上万个零件,复杂程度10个人9个看不懂!
  14. Windows与Linux双系统设置默认引导项与删除引导项
  15. Form表单校验_座机号、电话号码
  16. OFDM和OFDMA区别笔记
  17. Linux signal那些事儿【转】
  18. linux什么意思中文翻译,linux中文
  19. 蓝牙模块XY-MBD07A的介绍及使用方法(超详解)
  20. SpringCloud Edgware.SR3版本-Ribbon的timeout设置

热门文章

  1. 人工智能 | 人脸识别研究报告(人才篇)
  2. TortoiseSVN新人使用指南
  3. CEdit 控件 更新内容的 方法(可以自动滚动至末尾)
  4. SQLite中的高级SQL
  5. java 文件提前结束_java – org.xml.sax.SAXParseException:过早结束文件
  6. python源码精要(5)-C代码规范
  7. 【Python】干货分享 | Pandas处理时间序列的数据
  8. 一文教你机器学习场景化分析!
  9. 【论文解读】AAAI21最佳论文Informer:效果远超Transformer的长序列预测神器!
  10. 震惊了!每30秒学会一个Python小技巧,Github星数6000+