as3分页——页数多了后自动居中类似谷歌分页
生活随笔
收集整理的這篇文章主要介紹了
as3分页——页数多了后自动居中类似谷歌分页
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
4月21,學(xué)習(xí)心的
{
?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);
??}
??/**
???*?改變頁數(shù)的方法
???*?---------------------------↓?總頁數(shù)-------↓?當(dāng)前頁數(shù)
???**/
??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);
???}
??}
??
??/**
???*?根據(jù)按鈕名字所判斷執(zhí)行的操作
???*?---------------------↓?頁數(shù)------↓?被點中的按鈕名稱
???**/
??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;
???}
??}
??
??/**
???*?--------------------↓移動數(shù)量-------↓移動方向-----------
???*?-------------------------------點中的頁數(shù)--↓是否上頁-1是,2下頁,3其他↓
???**/
??private?function?doMove(moveTotal:int,direction:Boolean,txt:int,isUp:int=3):void{
???var?temp:int;
???//上頁可能出現(xiàn)沒有第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;
???}
??}
?}
}
?
?
殘缺的類,完整的分頁片段,給自己參考!
?
?
?
轉(zhuǎn)自:http://fashionwll.blog.163.com/blog/static/8255017720093213117668/
轉(zhuǎn)載于:https://www.cnblogs.com/qiantuwuliang/archive/2010/04/16/1713429.html
總結(jié)
以上是生活随笔為你收集整理的as3分页——页数多了后自动居中类似谷歌分页的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++回调函数用法(zt)
- 下一篇: 【拯救赵明】 安全方案 超简单