分页:页码显示javascript

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>分页:页码显示javascript</title>
<script>
 var ie=(document.getElementById && document.all);
 function clearChilds( parentObj){
  if ( parentObj.hasChildNodes()  ) {   
   var childs = parentObj.childNodes; 
   for(var i=childs.length-1;i>=0;i--){
    if ( childs[i].hasChildNodes() ) {
     clearChilds(childs[i]);
    }else {
     if ( childs[i].tagName == "INPUT" || childs[i].tagName == "input" ){ 
      if ( childs[i].id == "gotoTxt"){
       parentObj.removeChild(childs[i]);
      }     
     }else {         
      parentObj.removeChild(childs[i]);
     }
    }//else end
    
   }//for end
   
  }
 }
 function navigateClick(pageNumber){
  document.getElementById("currentPage").value = pageNumber;
  submitSearch();
 }
 
 var newNavigateClick=function(pageNumber){
  return function(){
   navigateClick(pageNumber);
  }
 }
 
 function createNavigateImg(imgName,parentObj,currentNumber) {  
  var img = document.createElement("img");
  img.setAttribute("border","0");
  img.setAttribute("src","<%=request.getContextPath() %>/images/sfdcdefectgui/"+imgName);
  img.style.verticalAlign = "text-bottom";
  img.style.cursor = "pointer";
   if(ie){
   img.attachEvent("onclick",newNavigateClick(currentNumber) );
  }else {
   img.addEventListener("click",newNavigateClick(currentNumber),false);
  }
  parentObj.appendChild(img);
 }
 
 function setNavigative(totalNumber,currentNumber) {
 
 // var allData = eval('(' + strData + ')');
 // var totalNumber = allData.pageControl.totalPage;
 // var currentNumber =  allData.pageControl.currentPage;
  var navDiv = document.getElementById("navigateDiv");
  
  clearChilds(navDiv);
  
  var spaceNode = document.createTextNode(" ");
  navDiv.appendChild(spaceNode); 
  var totalPage = document.createTextNode(totalNumber);
  navDiv.appendChild(totalPage);    
  
  var redFont = document.createElement("font");
  redFont.setAttribute("color","red");
  var currentTxtNum = document.createTextNode(" "+currentNumber);
  redFont.appendChild(currentTxtNum);  
  navDiv.appendChild(redFont);  
  
  var currentTototalPage = document.createTextNode("/"+totalNumber);
  navDiv.appendChild(currentTototalPage);  
  spaceNode = document.createTextNode("  ");
  navDiv.appendChild(spaceNode); 
  if ( currentNumber > 1) {
  
   spaceNode = document.createTextNode("  ");   
   navDiv.appendChild( spaceNode );
   createNavigateImg("home_page.gif",navDiv,1);
  
   spaceNode = document.createTextNode("  ");   
   navDiv.appendChild( spaceNode );
   createNavigateImg("previous_page.gif",navDiv,currentNumber);
 
  }
  
  //page number display
   var endNumber = 0;
   var beginNumber = 0;
   var dispNumber = 5;
   var  offSize = Math.floor( dispNumber/2);
  
   if ( currentNumber <=1 ){
    beginNumber = 1;
   if ( totalNumber <=dispNumber-1 )
    endNumber = totalNumber;
    else
      endNumber = beginNumber + dispNumber-1;
   }else if ( currentNumber >= totalNumber){
     endNumber = totalNumber;
      if (  totalNumber -(dispNumber-1) <= 0)
       beginNumber =1;
      else
       beginNumber = endNumber  -(dispNumber-1) ;
   } else {
      var forwardOffSize = 0;
      var backwardOffSize = 0;
      if ( (currentNumber + offSize) > totalNumber)
       forwardOffSize = currentNumber + offSize - totalNumber;
      if ( (currentNumber - offSize) <1) 
       backwardOffSize = offSize - currentNumber + 1 ;
      if ( forwardOffSize == 0  && backwardOffSize == 0) {
       beginNumber =  currentNumber -offSize;
       endNumber = offSize + currentNumber;
      } else if ( forwardOffSize != 0 && backwardOffSize == 0){
       endNumber = totalNumber;
       beginNumber =  currentNumber -offSize -forwardOffSize ;
     } else if ( forwardOffSize == 0 && backwardOffSize != 0){
       beginNumber = 1;
       endNumber =  currentNumber +offSize +backwardOffSize ; 
      } else if ( forwardOffSize != 0 && backwardOffSize != 0){
       beginNumber = 1;
       endNumber = totalNumber;
      }
      if ( beginNumber <= 0)
       beginNumber= 1;
      if ( endNumber >= totalNumber)
       endNumber = totalNumber;
   }

  spaceNode = document.createTextNode("  ");
  navDiv.appendChild(spaceNode); 
  for(var i=beginNumber;i<=endNumber;i++) {
   spaceNode = document.createTextNode(" ");
   navDiv.appendChild(spaceNode);
   if ( i != currentNumber ) {
    var a = document.createElement("a");
    a.style.textDecoration = "none";
    a.setAttribute("currentPage",i);
    a.setAttribute("href","#");
    if(ie){ 
     a.attachEvent("onclick",newNavigateClick(i) );
    }else {
     a.addEventListener("click",newNavigateClick(i),false);
    }
    var txt = document.createTextNode(i);
    a.appendChild(txt);  
    navDiv.appendChild( a ); 
   } else {
    var font = document.createElement("font");
    font.setAttribute("color","red");
    var txt = document.createTextNode(i);
    font.appendChild(txt);
    navDiv.appendChild( font );
   }
      
  }
  
   
  if ( currentNumber < totalNumber) {
   
   spaceNode = document.createTextNode("  ");   
   navDiv.appendChild( spaceNode );
   createNavigateImg("next_page.gif",navDiv,(currentNumber+1));
   
   spaceNode = document.createTextNode("  ");   
   navDiv.appendChild( spaceNode );
   createNavigateImg("end_page.gif",navDiv,totalNumber);
  }
 
  spaceNode = document.createTextNode("  ");
  navDiv.appendChild(spaceNode);
  var gotoInput = document.createElement("input");
  gotoInput.setAttribute("type","text");
  gotoInput.setAttribute("size","1");
  gotoInput.setAttribute("id","gotoTxt");
  
  if(ie){ 
    gotoInput.attachEvent("onkeydown",newCheckValue(event) );
  }else {
    gotoInput.addEventListener(
     "keydown",
     function(event){
       checkValue(event);
     },
    false
   );
  }
  navDiv.appendChild( gotoInput );
  
 }
 
 function checkValue(event){ 
   var e = event || window.event;      
  var gototxt = document.getElementById("gotoTxt"); 
  gototxt.value=gototxt.value.replace(/[^0-9]*$/, ""); 
  var express =/[0-9]/;
  if ( gototxt.value != "" &&  express.test(gototxt.value) ) { 
   if ( e.keyCode == 13) {
     navigateClick(gototxt.value);
   }
  }
 }
 
 var newCheckValue=function(event){
  return function(){
   checkValue(event);
  }
 }
</script>
</head>

<body>
<TABLE width="100%" height="30"   cellSpacing=0 cellPadding=0 border=0 >
                  <TR>
                     <TD align="left">
                      <div id="navigateDiv" style="FONT-SIZE:14; FONT-FAMILY:Verdana">
                          <input name=delete type=button class="btnMouseover" value="删除"; onClick="deleteSearchRecord();" />
                          <input type="hidden" name="hideIdvalue" />
                       </div>
                    </TD>
                  </TR>
</TABLE>
    <br/>
    <input type="button"  οnclick="setNavigative(12,6)" value="display page Number"/>
</body>
</html>


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值