类型:转载 责任编辑:asp.net 日期:2007/05/23
热门软件下载:
在google或是一些别的搜索网页里经常可以见到一些分页显示的结果假设这样显示:
上一页[1][2][3]下一页,共13页,
选择2后变成上一页[1][2][3][4下一页共13页
选择3后变成上一页[1][2][3][4][5]下一页共13页
选4后变成上一页[2][3][4][5][6]下一页,共13页
选6后变成上一页[4][5][6][7][8]下一页,共13页
........
这种算法怎么写?怎么个思路?
网友回答:
<%
int i = (当前页码 != 0) ? 当前页码 : 1;
int items = 5; //每页显示5项(1~5、2~6……)
int count = 0; //计数器
while (count < items){
out.print(i);
i++;
}
%>
http://jsptags.com/tags/navigation/pager
这好实现啊!判断一下当前应该显示的页数,然后再和总页数比较啊!
if(当前页==1)
{
上一页[1][2][3]下一页
}
else if(当前页>1 && 当前页<3)
{
上一页[1][2][3][4]下一页
}
else if(当前页>1 && 当前页<4)
{
上一页[1][2][3][4][5]下一页
}
else if(当前页>=4)
{
上一页[当前页-2][当前页-1][当前页][当前页+1][当前页+2]下一页
}
if((当前页-2)<1&&(当前页+2)<总页数){
[1]...[当前页][当前页+1][当前页+2]
}else if((当前页-2)<1)){
[1]...[当前页]...[总页数]
}else if((当前页+2)<总页数){
[当前页-2][当前页-1][当前页][当前页+1][当前页+2]
}else{
[当前页-2][当前页-1][当前页]...[总页数]
}