百度前端笔试的一个分页题目
去参加百度的前端研发的笔试,上面有一题是用JS写个分页出来,当时没写完整,现在补上
<script type="text/javascript">
function page(pagenow,pagecount,n,uri)
{
var nextpage;
var prepage;
var pagenav=new Array();
if(pagenow<=pagecount&&pagenow>0)
{
if(pagenow<=n)
{
if(pagecount<=(2*n+1))
{
for(var i=1;i<=pagecount;i++)
{
pagenav[i]=i;
}
}
else
{
for(var i=1;i<=(2*n+1);i++)
{
pagenav[i]=i;
}
}
}
else if(pagenow>=pagecount-n)
{
for(var i=1,p=pagecount-(2*n);i<=(2*n+1);i++,p++)
{
pagenav[i]=p;
}
}
else
{
for(var i=1,p=pagenow-n;i<=(2*n+1);i++,p++)
{
pagenav[i]=p;
}
}
//--out
if(pagenow>1&&pagenow<=pagecount)
{
prepage=pagenow-1;
document.write("<a href='"+uri+prepage+"'>上一页</a> ");
}
for(var i in pagenav)
{
if(pagenav[i]==pagenow)
{
document.write("<a href='"+uri+pagenav[i]+"' style='color:#ff0000;text-decoration:none;'>"+pagenav[i]+"</a> ");
}
else
{
document.write("<a href='"+uri+pagenav[i]+"' style='color:#00ffff;'>"+pagenav[i]+"</a> ");
}
}
if(pagenow<pagecount&&pagenow>0)
{
nextpage=pagenow+1;
document.write("<a href='"+uri+nextpage+"'>下一页</a> ");
}
}
}
page(10,20,5,"http://p?page=");
参数:当前页,总页数,总共显示2*N+1个页码,链接