javascriptは簡単な改ページ効果を実現します.

9696 ワード

次はセクションjavascriptで実現された改ページコードです.もちろんバックグラウンドコードと合わせて実現しなければなりません.みんなは自分でコードを分析して、みんなに一定の助けを持ってくることができることを望んで、コードは以下の通りです.


function setPage(opt)
{ 
 if(!opt.pageDivId || opt.allPageNum < opt.curpageNum || opt.allPageNum < opt.showPageNum)
 {
  return false
 } 
 var allPageNum=opt.allPageNum; //     
 var showPageNum=opt.showPageNum; //      
 var curpageNum=opt.curpageNum; //       
 var pageDIvBox=document.getElementById(opt.pageDivId); 
 //             
 var lrNum=Math.floor(showPageNum/2); 
 if(curpageNum>1)
 { 
  var oA=document.createElement('a'); 
  oA.href='#1'; 
  oA.innerHTML='  ' 
  pageDIvBox.appendChild(oA); 
 } 
 if(curpageNum>1)
 { 
  var oA=document.createElement('a'); 
  oA.href='#'+(curpageNum-1); 
  oA.innerHTML='   ' 
  pageDIvBox.appendChild(oA); 
 } 
 if(curpageNum<showPageNum-2||allPageNum==showPageNum)
 { 
  for(var i=1;i<=showPageNum;i++)
  { 
   var oA = document.createElement('a'); 
   oA.href = '#'+i; 
   if(curpageNum==i)
   { 
    oA.innerHTML = i; 
   }
   else
   { 
    oA.innerHTML = "[" + i + "]"; 
   } 
   pageDIvBox.appendChild(oA); 
  } 
 }
 else
 { 
  //         
  if(allPageNum-curpageNum<lrNum && curpageNum == allPageNum-1)
  { 
   for(var i=1;i<=showPageNum;i++)
   { 
    console.log((curpageNum - showPageNum + i)); 
    var oA = document.createElement('a'); 
    oA.href = '#'+ (curpageNum - (showPageNum-1) + i); 
    if(curpageNum == (curpageNum - (showPageNum-1) + i))
    { 
     oA.innerHTML = (curpageNum - (showPageNum-1) + i) 
    }
    else
    { 
     oA.innerHTML = '['+(curpageNum - (showPageNum-1) + i)+']' 
    } 
    pageDIvBox.appendChild(oA); 
   } 
  } 
  //        
  else if(allPageNum-curpageNum<lrNum && curpageNum == allPageNum)
  { 
   for(var i=1;i<=showPageNum;i++)
   { 
    console.log((curpageNum - showPageNum + i)); 
    var oA = document.createElement('a'); 
    oA.href = '#'+ (curpageNum - showPageNum + i); 
    if(curpageNum == (curpageNum - showPageNum + i))
    { 
     oA.innerHTML = (curpageNum - showPageNum + i) 
    }
    else
    { 
     oA.innerHTML = '['+(curpageNum-showPageNum + i)+']' 
    } 
    pageDIvBox.appendChild(oA); 
   } 
  }
  else
  { 
   for(var i=1;i<=showPageNum;i++)
   { 
    var oA = document.createElement('a'); 
    oA.href = '#'+ (curpageNum - (showPageNum-lrNum) + i); 
    if(curpageNum == (curpageNum - (showPageNum-lrNum) + i))
    { 
     oA.innerHTML = (curpageNum - (showPageNum-lrNum) + i) 
    }
    else
    { 
     oA.innerHTML = '['+(curpageNum - (showPageNum-lrNum) + i)+']' 
    } 
    pageDIvBox.appendChild(oA); 
   } 
  } 
 } 
 if(curpageNum<allPageNum)
 { 
  for(var i=1;i<=2;i++)
  { 
   if(i==1)
   { 
    var oA = document.createElement('a'); 
    oA.href='#'+(parseInt(curpageNum)+1); 
    oA.innerHTML = '   '
   }
 else
 { 
    var oA = document.createElement('a'); 
    oA.href='#'+allPageNum; 
    oA.innerHTML = '  '
   } 
   pageDIvBox.appendChild(oA); 
  } 
 } 
 var oA = document.getElementsByTagName('a'); 
 //          
 for(var i=0;i<oA.length;i++)
 { 
 oA[i].onclick = function(){ 
 //       
 var sHref = this.getAttribute('href').substring(1); 
 //       
 pageDIvBox.innerHTML = ''; 
 setPage({ 
  pageDivId:'page', 
  showPageNum:5, //      
  allPageNum:10, //    
  curpageNum:sHref //     
 }) 
 } 
} 
} 
window.onload=function()
{ 
 setPage({ 
  pageDivId:'page', 
  showPageNum:5, //      
  allPageNum:10, //    
  curpageNum:1 //     
 }) 
} 


例2:







<!-- function initializePageNav(iCurrPage) { var iPageSize = 20; var iProCount = 2121; var b = ((iProCount%iPageSize)!=0); var iPageCount = parseInt(iProCount/iPageSize)+(b?1:0); if (iCurrPage > iPageCount) return false; iCurrPage = parseInt(iCurrPage); var sTemp = ""; var sTemp1 = " :"+ iPageSize +"/<span style='color:red'>"+ iProCount +"</span> :<span style='color:blue'>"+ iCurrPage +"</span>/"+ iPageCount +" "; var sTemp2 = "<input type=\"text\" id=\"goPageNo\" value=\""+iCurrPage+"\" size=\"3\" /><input type=\"button\" value=\"GO\" onclick=\"initializePageNav($('goPageNo').value);\" />" if (iProCount==0) { sTemp = "<font color='#cccccc'> </font>"; } else if (iPageCount==1) { sTemp = "<font color='#cccccc'> </font>" } else if (iPageCount==iCurrPage) { sTemp = "<a href='Javascript:initializePageNav(1)'> </a> <a href='Javascript:initializePageNav("+(iPageCount-1)+")'> </a> <font color='#cccccc'> </font>" } else if (iCurrPage==1) { sTemp = "<font color='#cccccc'> </font><a href='Javascript:initializePageNav("+(iCurrPage+1)+")'> </a> <a href='Javascript:initializePageNav("+iPageCount+")'> </a>" } else { sTemp = "<a href='Javascript:initializePageNav(1)'> </a> <a href='Javascript:initializePageNav("+(iCurrPage-1)+")'> </a> <a href='Javascript:initializePageNav("+(iCurrPage+1)+")'> </a> <a href='Javascript:initializePageNav("+(iPageCount)+")'> </a>" } $("pageDir").innerHTML = sTemp +" "+ sTemp2 + " " + sTemp1 ; CollectGarbage(); } function $(o) { return document.getElementById(o); } initializePageNav(1) //-->

示例三:

实现的效果是:上一页、第一页、…(上n个页码)、n个页码、…(下n个页码)、最后一页、下一页。n可以是奇数也可以是偶数,一般都喜欢取奇数


//   ,    ,    ,                 
function pageBar(tp,cp,url,pn){
  var str = ‘
;
if(tp>1&&cp>1){
var prev=cp-1
str+='
  • 前のページ
  • ';
    }else{
    str+='
  • 前のページ
  • ';
    )
    if(tp>1){
    //最初のページ
    if(cp==1){
    str+='1 ';
    }else{
    str+='
  • 1
  • ';
    )
    if(tp>2){
    var pnh=Math.flor(pn/2)
    //循環開始ページ番号
    var s=cp-pnh
    if(s<=1){
    s=2;
    )
    //循環終了ページ番号
    var e=cp+pnh
    if(e>=tp){
    e=tp-1
    )
    if(s<=(1+pnh)){
    if(tp>(p+2){
    e=s+(pn-1)
    if(e>=tp){
    e=tp-1
    )
    }else{
    s=2;
    )
    )
    if(e>=(tp-pnh){
    if(tp>(p+2){
    s=e-(pn-1)
    if(s<=1){
    s=2;
    )
    }else{
    e=tp-1
    )
    )
    if(e 2){
    var sp=cp-pn
    if(sp<1){
    sp=1;
    )
    str+='
  • ';
    )
    for(var i=s;i<=e;i+){
    if(i==cp){
    str+=''+i+'' ';
    }else{
    str+='
  • '+i+''
  • ';
    )
    )
    //最後のページの複数ページをジャンプ
    if(e<(tp-1){
    var ep=cp+pn
    if(ep>tp){
    ep=tp;
    )
    str+='
  • ';
    )
    )
    //最後のページ
    if(cp==tp){
    str+=''+tp+'' ';
    }else{
    str+='
  • '+tp+''
  • ';
    )
    }else{
    str+='1 ';
    )
    if(tp>1&cp 次のページ;;
    }else{
    str+='
  • 次のページ
  • '
    )
    str+='';
    return str;
    )
    //ページ番号ジャンプ、アドレスジャンプ
    function goPage(cp,url){
    window.locations.href=url+cp;
    )