var program_NUM=7;//总的超链接数目
var program_PREPAGE=4;//每页显示2个超链接
var currentpage=1;//当前页
var pagenum=(program_NUM%program_PREPAGE==0)?parseInt(program_NUM/program_PREPAGE):parseInt(program_NUM/program_PREPAGE+1);function previous()
{
Display_main(program_PREPAGE,program_NUM,currentpage-1);
}function next()
{
Display_main(program_PREPAGE,program_NUM,currentpage+1);
}function Displaypage(currentpage)
{
    //currentpage=icurrentpage;
var strDisplayPagenation="";
    if((pagenum==1)&&(currentpage==1)) strDisplayPagenation+="";

if((pagenum>1)&&(currentpage!=1)) 
strDisplayPagenation+='<br><a href="javascript:void(0)" onclick="javascript:previous()">上一页</a>&nbsp;&nbsp;'; 

else if((pagenum>1)&&(currentpage==1))
strDisplayPagenation+="<br>上一页&nbsp;&nbsp;";
if(pagenum>1){
for(var i=1;i<=pagenum;i++)
{
if(i!=currentpage)
strDisplayPagenation+='<a href="javascript:void(0)" onclick="javascript:DisplayProgramList('+i+');">'+i+'</a>&nbsp;&nbsp;';
else
strDisplayPagenation+=i+"&nbsp;&nbsp;";
}
}
//strDisplayPagenation+="共 " + pagenum + " 页&nbsp;&nbsp;";

if((pagenum>1)&&(currentpage!=pagenum))
strDisplayPagenation+='<a href="javascript:void(0)" onclick="javascript:next()">下一页</a>&nbsp;&nbsp;';
else if((pagenum>1)&&(currentpage==pagenum))
strDisplayPagenation+="下一页&nbsp;&nbsp;";
document.write(strDisplayPagenation);

}function DisplayProgramList(currentpage)
{
//currentpage=iCurrentPage;
    var endcount=program_PREPAGE;
if(currentpage*program_PREPAGE>program_NUM)
endcount=program_NUM;

for(var icount = ((currentpage-1)*program_PREPAGE+1); icount <=endcount; icount++)  {      
document.writeln("<br><a href='a.html'>"+icount+"</a>"); 
document.writeln("当前页码是"+currentpage);
}
}
function Display_main(program_PREPAGE,program_NUM,currentpage)

   if(program_NUM<=program_PREPAGE)
   {
    for(var icount = 1; icount <=program_NUM; icount++)  {      
document.writeln("<br><a href='a.html'>"+icount+"</a>"); 

}
Displaypage(currentpage);
   }
   else
   {
    DisplayProgramList(currentpage);
Displaypage(currentpage);
   }
}Display_main(program_PREPAGE,program_NUM,currentpage);

解决方案 »

  1.   

    问题出在你使用了:document.write
    这样,相当于页面重写了,本页的所有变量定义和函数定义都丢失了。
      

  2.   

    帮你重写了一下:
    var program_NUM=17;//总的超链接数目
    var program_PREPAGE=4;//每页显示2个超链接
    var currentpage=1;//当前页
    var searchstr = location.search;
    if(searchstr && searchstr.indexOf("page=") > -1){
        // 查找当前要显示的页
        searchstr = searchstr.substring(searchstr.indexOf("page=")+5);
        searchstr = searchstr.split("&")[0];
        currentpage = parseInt(searchstr,10);
        //alert(currentpage);
    }var pagenum=(program_NUM%program_PREPAGE==0)?parseInt(program_NUM/program_PREPAGE):parseInt(program_NUM/program_PREPAGE+1);function previous1()
    {    
        Display_main(program_PREPAGE,program_NUM,currentpage-1);
    }function next1()
    {        
        Display_main(program_PREPAGE,program_NUM,currentpage+1);
    }function Displaypage(currentpage)
    {
        //currentpage=icurrentpage;
        var strDisplayPagenation="";
        if((pagenum==1)&&(currentpage==1)) strDisplayPagenation+="";
        
        if((pagenum>1)&&(currentpage!=1)) 
            strDisplayPagenation+='<br><a href="a.htm?page=' + (currentpage-1) + '">上一页</a>&nbsp;&nbsp;'; 
            
        else if((pagenum>1)&&(currentpage==1))
            strDisplayPagenation+="<br>上一页&nbsp;&nbsp;";
        if(pagenum>1){
            for(var i=1;i<=pagenum;i++)
            {
                if(i!=currentpage)
                    strDisplayPagenation+='<a href="a.htm?page=' + i + '">'+i+'</a>&nbsp;&nbsp;';
                else
                    strDisplayPagenation+=i+"&nbsp;&nbsp;";
            }
        }    
        //strDisplayPagenation+="共 " + pagenum + " 页&nbsp;&nbsp;";    
        
        if((pagenum>1)&&(currentpage!=pagenum))
            strDisplayPagenation+='<a href="a.htm?page=' + (currentpage+1) + '">下一页</a>&nbsp;&nbsp;';
        else if((pagenum>1)&&(currentpage==pagenum))
            strDisplayPagenation+="下一页&nbsp;&nbsp;";
        document.write(strDisplayPagenation);
    }function DisplayProgramList(currentpage)
    {    
        //currentpage=iCurrentPage;
        var endcount=program_PREPAGE;    
        if(currentpage*program_PREPAGE>program_NUM)
            endcount=program_NUM;
        
        for(var icount = ((currentpage-1)*program_PREPAGE+1); icount <=endcount; icount++)  {         
            document.writeln("<br><a href='a.html'>"+icount+"</a>"); 
            document.writeln("当前页码是"+currentpage);
        }
    }
        function Display_main(program_PREPAGE,program_NUM,currentpage)

       if(program_NUM<=program_PREPAGE)
       {
               for(var icount = 1; icount <=program_NUM; icount++)  {         
            document.writeln("<br><a href='a.html'>"+icount+"</a>"); 
            
            }        
            Displaypage(currentpage);
       }
       else
       {
               DisplayProgramList(currentpage);
            Displaypage(currentpage);
       }
    }Display_main(program_PREPAGE,program_NUM,currentpage);
      

  3.   

    你点了下一页后,在点上一页的时候,你看下源码  根本就没有previous()这个方法