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;
}
}
}
}
{
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/