百度前端笔试的一个分页题目

去参加百度的前端研发的笔试,上面有一题是用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个页码,链接

posted @ 2011-10-18 10:34  大嘴吃油条  阅读(285)  评论(0编辑  收藏  举报