/***********************/
/****时间:2009.10.23 ********/
/****作者:猫 ********/
/****e-mail:yuanpan45@163.com ***/
/***********************/
<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas backgroundColor="{paggerBackGroundColor}" creationComplete="paggercompleted()" xmlns:mx="http://www.adobe.com/2006/mxml" height="18" xmlns:text="flash.text.*">
<mx:Style>
LinkButton.pagelbtn
{
fontSize: 12;
paddingLeft: 0;
paddingRight: 0;
leading: 0;
cornerRadius: 0;
rollOverColor: #B1E0FE;
selectionColor: #7FCEFF;
selectedColor: #7FCEFF;
disabledColor: #FA0C0C;
paddingTop: 0;
paddingBottom: 0;
color: #081EF3;
textRollOverColor: #081EF3;
textSelectedColor: #FA0C0C;
}
</mx:Style>
<mx:HBox id="hbox1" horizontalGap="-2" width="100%" height="100%" horizontalCenter="0" verticalCenter="0">
</mx:HBox>
<mx:Script>
<![CDATA[
import mx.controls.LinkButton;
public var currPageNum:uint=5;
public var totalPageNum:uint=666;
[Bindable]
public var paggerBackGroundColor:uint=0xe8e8e8;
private var minnum:Number=1;
private var maxnum:Number=1;
private var lbtn:LinkButton;
private function paggercompleted():void
{
this.minnum = currPageNum-2;
this.maxnum = currPageNum+2;
if(this.minnum<1)
{
this.maxnum = this.maxnum+(1-minnum);
this.minnum = 1;
}
else if(this.maxnum>this.totalPageNum)
{
this.minnum = this.minnum-(this.maxnum-this.totalPageNum);
this.maxnum = this.totalPageNum;
}
this.hbox1.removeAllChildren();
if(this.minnum>1) //添加上一页
{
lbtn = new LinkButton();
lbtn.addEventListener(MouseEvent.CLICK,lbtnuppageclick);
lbtn.label = "上一页";
lbtn.styleName = "pagelbtn";
this.hbox1.addChild(lbtn);
}
//添加5页
for(var i:Number=this.minnum;i<=this.maxnum;i++)
{
lbtn = new LinkButton();
lbtn.addEventListener(MouseEvent.CLICK,lbtnClick);
if(i==this.currPageNum)
{
lbtn.enabled=false;
lbtn.setStyle("textDecoration","");
lbtn.setStyle("fontWeight","bold");
}
lbtn.id = "lbtn"+i;
lbtn.name = i.toString();
lbtn.label = i.toString();
lbtn.styleName = "pagelbtn";
this.hbox1.addChild(lbtn);
}
if(this.maxnum<this.totalPageNum) //添加下一页
{
lbtn = new LinkButton();
lbtn.addEventListener(MouseEvent.CLICK,lbtndownpageclick);
lbtn.label = "下一页";
lbtn.styleName = "pagelbtn";
this.hbox1.addChild(lbtn);
}
}
/**
*
*/
private function lbtnClick(event:MouseEvent):void
{
var lbt:LinkButton = event.target as LinkButton;
this.currPageNum=parseInt(lbt.name);
this.paggercompleted();
}
private function lbtnuppageclick(event:MouseEvent):void
{
this.currPageNum--;
this.paggercompleted();
}
private function lbtndownpageclick(event:MouseEvent):void
{
this.currPageNum++;
this.paggercompleted();
}
]]>
</mx:Script>
</mx:Canvas>