zoukankan      html  css  js  c++  java
  • 客户端显示分页信息

    发表时间:2006-7-3 14:15:00

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <html>
    <head>
    <title>
    </title>
    <meta http-equiv="Cache-Control" content="max-age=0"/>
    <meta http-equiv="Cache-Control" content="no-cache"/>
    <META HTTP-EQUIV="Expires" CONTENT="0"/>
    <style>
    body,table,td,tr,div,span{font-size:12px;}
    a{font-size:12px;color:black;font-family:tahoma;}
    </style>
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    /// <summary>
    /// 显示分页信息
    /// </summary>
    /// <param name="totalRecords">总的纪录数目</param>
    /// <param name="currentPageIndex">当前分页索引</param>
    /// <param name="pageSize">每页应该显示纪录数目</param>
    /// <param name="totalPages">总的分页数目</param>
    /// <returns></returns>
    /// <example>ShowPagingInfo(80, pageIndex, 8, 10, 10);</example>
    function ShowPagingInfo(totalRecords, currentPageIndex, pageSize, totalPages, digitCount, version)
    {
    var displayColor = '#2F4F4F',focusColor = '#8B0000';
    var firstPageUrl,prevPageUrl,nextPageUrl,lastPageUrl = "";
    if(currentPageIndex > totalPages)
      currentPageIndex = totalPages;
    if(currentPageIndex < 1)
      currentPageIndex = 1;

    version = version.toLowerCase();

    firstPageUrl = ((currentPageIndex == 1) ? "javascript:void(0);" : ReplaceQueryString(document.URL,'page',1));
    lastPageUrl  = ((currentPageIndex == totalPages) ? "javascript:void(0);" : ReplaceQueryString(document.URL,'page',totalPages));
    prevPageUrl  = ((parseInt(currentPageIndex) - 1) == 0) ? "javascript:void(0);" : ReplaceQueryString(document.URL,'page',(parseInt(currentPageIndex) - 1));
    nextPageUrl  = ((parseInt(currentPageIndex) + 1) > totalPages) ? "javascript:void(0);" : ReplaceQueryString(document.URL,'page',(parseInt(currentPageIndex) + 1));

    var infoStr = '<span style="font-family:tahoma;color:'+displayColor+';">共 <font color='+focusColor+'>' + totalRecords + '</font> 条信息、<font color='+focusColor+'>' + totalPages + '</font> 页,当前为第 <font color='+focusColor+'>'
    + currentPageIndex + '</font> 页,每页显示 <font color='+focusColor+'>' + pageSize + '</font> 条信息。</span>';

    if(version == 'en')
      infoStr = '<span style="font-family:tahoma;color:'+displayColor+';">Total <font color='+focusColor+'>' + totalRecords + (totalRecords > 1 ? '</font> records' : '</font> record') + ', <font color='+focusColor+'>' + totalPages + (totalPages > 1 ? '</font> pages' : '</font> page') +', currently page index is <font color='+focusColor+'>'+ currentPageIndex + '</font>, <font color='+focusColor+'>' + pageSize + '</font> records per page.</span>';
    if(totalRecords == 0)
    {
      infoStr = '<span style=\"Text-decoration:none;font-family:tahoma;color:gray;\">对不起,当前未找到任何符合条件的信息。</span>';
      if(version == 'en')
       infoStr = '<span style=\"Text-decoration:none;font-family:tahoma;color:gray;\">Sorry, currently no records have be found!</span>';
      firstPageUrl = 'javascript:void(0);';
      lastPageUrl = 'javascript:void(0);';
      prevPageUrl = 'javascript:void(0);';
      nextPageUrl = 'javascript:void(0);';
    }

    var title = '第一页';
    if(version == 'en')
      title = 'first';
    var firstStr = '<a href='http://www.blog.com.cn/+firstPageUrl+' id="lnkFirst" title="'+title+'" style="font-family:Webdings;TEXT-DECORATION:none;color:'+displayColor+';">9</a>&nbsp;';
    if(firstPageUrl == "javascript:void(0);")
      firstStr = '<span title="'+title+'" style="font-family:Webdings;TEXT-DECORATION:none;color:gray;">9</span>&nbsp;';

    title = (version == 'en' ? 'next' : '下一页');
    var nextStr  = '<a href='http://www.blog.com.cn/+nextPageUrl+' id="lnkNext" title="'+title+'" style="font-family:Webdings;TEXT-DECORATION:none;color:'+displayColor+';"><!--4-->8</a>&nbsp;';
    if(nextPageUrl == "javascript:void(0);")
      nextStr = '<span title="'+title+'" style="font-family:Webdings;TEXT-DECORATION:none;color:gray;"><!--4-->8</span>&nbsp;';

    title = (version == 'en' ? 'previous' : '上一页');
    var prevStr  = '<a href='http://www.blog.com.cn/+prevPageUrl+' id="lnkPrev" title="'+title+'" style="font-family:Webdings;TEXT-DECORATION:none;color:'+displayColor+';"><!--3-->7</a>&nbsp;';
    if(prevPageUrl == "javascript:void(0);")
      prevStr = '<span title="'+title+'" style="font-family:Webdings;TEXT-DECORATION:none;color:gray;"><!--3-->7</span>&nbsp;';

    title = (version == 'en' ? 'last' : '最后一页');
    var lastStr  = '<a href='http://www.blog.com.cn/+lastPageUrl+' id="lnkLast" title="'+title+'" style="font-family:Webdings;TEXT-DECORATION:none;color:'+displayColor+';">:</a>&nbsp;';
    if(lastPageUrl == "javascript:void(0);")
      lastStr = '<span title="'+title+'" style="font-family:Webdings;TEXT-DECORATION:none;color:gray;">:</span>&nbsp;';

    var offsetLast,offsetFirst;
    var isOverflowFirst,isOverflowLast;
    var incrementValue = Math.floor(digitCount / 2);//currentPageIndex左右的数字的增量值
    if(digitCount % 2 == 0)
    {
      isOverflowFirst = ((parseInt(currentPageIndex) - incrementValue + 1) <= 0);
      isOverflowLast  = ((parseInt(currentPageIndex) + incrementValue) > totalPages);

      if((!isOverflowFirst) && (!isOverflowLast))
      {  
       offsetLast = incrementValue + parseInt(currentPageIndex);
       offsetFirst = parseInt(currentPageIndex) - incrementValue + 1;
      }
      else if(isOverflowFirst && isOverflowLast)
      {
       offsetLast = totalPages;
       offsetFirst = 1;
      }
      else if(isOverflowFirst && (!isOverflowLast))
      {
       offsetLast = 1 + digitCount -1;
       offsetFirst = 1;

       if(offsetLast > totalPages)
        offsetLast = totalPages;
      }
      else if((!isOverflowFirst) && isOverflowLast)
      {
       offsetLast = totalPages;
       offsetFirst = totalPages - digitCount + 1;

       if(offsetFirst < 1)
        offsetFirst = 1;
      }
    }
    else
    {
      isOverflowFirst = ((parseInt(currentPageIndex) - incrementValue) <= 0);
      isOverflowLast  = ((parseInt(currentPageIndex) + incrementValue) > parseInt(totalPages));
      if((!isOverflowFirst) && (!isOverflowLast))
      {
       offsetLast = incrementValue + parseInt(currentPageIndex);
       offsetFirst = parseInt(currentPageIndex) - incrementValue;
      }
      else if(isOverflowFirst && isOverflowLast)
      {
       offsetLast = totalPages;
       offsetFirst = 1;
      }
      else if(isOverflowFirst && (!isOverflowLast))
      {
       offsetLast = 1 + digitCount -1;
       offsetFirst = 1;

       if(offsetLast > totalPages)
        offsetLast = totalPages;
      }
      else if((!isOverflowFirst) && isOverflowLast)
      {
       offsetLast = totalPages;
       offsetFirst = parseInt(totalPages) - parseInt(digitCount) + 1;

       if(offsetFirst < 1)
        offsetFirst = 1;
      }
    }

    document.write("<TABLE cellSpacing=\"5\" cellPadding=\"0\" width=\"100%\" border=\"0\" align=\"center\">");
    document.write("<TR>");
    document.write("<TD align=\"center\">");
    document.write(firstStr);
    document.write(prevStr);
    if(parseInt(totalRecords) > 0)
    {
      for(var i=offsetFirst; i<=offsetLast; i++)
      {
       if(currentPageIndex == i)
        document.write("<b><font color='"+focusColor+"' face='tahoma'>"+i+"</font></b>");
       else
       {
        document.write("<A style=\"Text-decoration:none;font-family:tahoma;color:"+displayColor+"\" href=\""+ReplaceQueryString(document.URL,'page',i)+"\" target=\"_self\" >");
        document.write(i);
        document.write("</A>");
       }
       document.write("&nbsp;");
      }
    }
    else
    {
      for(var j=1;j<=digitCount;j++)
       document.write("<span style=\"Text-decoration:none;font-family:tahoma;color:gray;\">"+j+"</span>&nbsp;");
    }
    document.write(nextStr);
    document.write(lastStr);
    //WriteDropDownList(offsetFirst, offsetLast, currentPageIndex, version);
    document.write("</TD>");
    document.write("</TR>");
    document.write("<TR>");
    document.write("<TD align=\"center\">");
    document.write(infoStr);
    document.write("</TR>");
    document.write("</TABLE>");
    }

    function GetQueryString(name)
    {
    name = name.toLowerCase();
    var url = document.URL;
    var offset = url.toLowerCase().indexOf(name);

    if(offset != -1)
    {
      var l = name.length+1;
      url = url.substr(offset+l);

      if(url.indexOf('&') != -1)
       url = url.substr(0,url.indexOf('&'));
    }
    else
      url = '';
    return url;
    }

    function ReplaceQueryString(url,paramName,newValue)
    {
    var preUrl   = '';
    var paramUrl = '';
    if(url.indexOf('?') != -1)
    {
      if(url.indexOf(paramName) == -1)
      {
       var rtnValue = '';
       if(url.charAt(url.length-1) == '&')
        rtnValue = url + paramName + '=' + newValue;
       else
        rtnValue = url + '&' + paramName + '=' + newValue;
       return rtnValue;
      }
      preUrl   = url.substr(0,url.indexOf('?'));
      paramUrl = url.substr(url.indexOf('?')+1);
    }
    else
    {
      if(url.indexOf(paramName) == -1)
       return url + '?' + paramName + '=' + newValue;
      preUrl = url;
    }

    var arrParams = new Array();
    if(paramUrl != '')
      arrParams = paramUrl.split('&');

    var newParamUrl = '';
    for(var i=0;i<arrParams.length;i++)
    {
      var arrItem = arrParams[i].split('=');
      if(arrItem[0].toLowerCase() == paramName.toLowerCase())
      {
       newParamUrl += (arrItem[0] + '=' + newValue);
      }
      else
      {
       newParamUrl += arrParams[i];
      }
      if(i != arrParams.length -1)
       newParamUrl += '&';
    }
    return preUrl+'?'+newParamUrl;
    }
    //-->
    </SCRIPT>
    </head>
    <body>

    <SCRIPT LANGUAGE="JavaScript">
    <!--
    //function ShowPagingInfo(totalRecords, currentPageIndex, pageSize, totalPages)
    var pageIndex = GetQueryString('page');
    if(/^\d+$/img.test(pageIndex) == false)
    pageIndex = 1;
    ShowPagingInfo(80, pageIndex, 8, 10, 10);
    //-->
    </SCRIPT>
    </body>
    </html>

  • 相关阅读:
    vs2010中如何编译dll
    EM图解
    二级指针代替二维数组传入参数
    常見算法的穩定性
    Opencv +vs2010的问题之0x000007b
    Linux C程序设计大全之gdb学习
    makefile学习
    python之如何share你的module
    socket与http的区别
    最完美的单例实现
  • 原文地址:https://www.cnblogs.com/yuanxiaoping_21cn_com/p/1332945.html
Copyright © 2011-2022 走看看