今天写的 Javascript 异步分页组件

分页的效果如下:

使用方法:

1、页面上要引用

<script src="Page.js" type="text/javascript"></script>

2、页面放放上一个 一个放 分页组件的 元素 如:DIV,放一个异步请求回 放入要显示 数据 的元素 如 : DIV

     <div id="Result">

          -----这是要显示数据的地方

    </div> 

     <div id="pager">

      ----这里是分页组件要显示的地方

    </div> 

3、分页的一些初始 设置

      //这个是 当用户点 “上一页” “下一页” “首页” “跳转” 时要调用的 函数 注意:要放在 SetPage 的前面,

      // 里面的 参数 是当前的页码 必须要有的

     PageClick = function (currentPageIndex) {      

                 --- 这里是你要异步请求的数据

           --- 请求回来已后 直接放到  要显示的地方 如:上面设置 的 ID 为 Result 的DIV 

             }

 

      // 这个函数主要是对分页做一些初始化,

      //第一个参数是 当前是第几页

      //第二个 参数是 总共多少页

      //第三个 参数是 分页组件 要显示的元素的ID 如上面设好的 ID 为 pager 的 DIV 

      // 第四个 参数是 当用户点 “上一页” “下一页” “首页” “跳转” 时要调用的 函数

             SetPage(1,  PageCount  "pager", PageClick);

4、你可以 对分页控件做一些Css 方面的设置

    如:

       #pager{font-size:24px;}
       #pager {color:#000;text-decoration:none;margin-left:20px;}
       #pager :hover{color:#f64d04;border-bottom:2px solid #f64d04;}

        其它Css 放面 就自已看着设置 就行了

===========================Javscript 源码 (Page.js)===================================

下是我写的这个分页组件的 源码,没做到封装,用到了 全局变量 等 ,如果有对你的业务 有用的话。 可以再次封装一下:

 

var PageIndex = 1;
var PageCount = 0;

var PageHtml = "";
var CallBack;

 function SetPage(Pindex,Pcount,PageID,CallBackFunc)
{
    PageHtml += "<div class='page'><a href='javascript:void(0);' onclick='PrePage();' id='Pre' >上一页</a><a href='javascript:void(0);' onclick='NexPage();' id='Nex'>下一页</a>";
    PageHtml += "  转至 <select style='margin-top:0px;' id='PageJump' name=''  size='1' onchange='PJump();'>";

    for (var i = 1; i <= Pcount; i++) {

        if (i == Pindex) {
            PageHtml += "<option style='height:30px;' value='" + i + "'  SELECTED>" + i + "</option>";    
        
        } else {
            PageHtml += "<option value='"+i+"'>" + i + "</option>";        
        }
    }
    PageHtml += "</select>   页<a href='javascript:void(0);' onclick='FirstPage()'>返回首页</a></div>";
    PageCount = Pcount;
    PageIndex=Pindex;

    var PageNode = document.getElementById(PageID);
    PageNode.innerHTML=PageHtml;
    CallBack = CallBackFunc;
    CallBack(PageIndex);
}

//上一页

function PrePage() {

    PageIndex--;

    if (PageIndex <= 0) {
        PageIndex = 1;
        return;
    }

    var jumpNode = document.getElementById("PageJump");
    jumpNode.value = PageIndex;

    CallBack(PageIndex);
}

// 下一页
function NexPage() {

    PageIndex++;

    if (PageIndex > PageCount) {
        PageIndex = PageCount;
        return;
    }

    var jumpNode = document.getElementById("PageJump");
    jumpNode.value = PageIndex;

    CallBack(PageIndex);
}

//跳到第几页
function PJump() {

    var jumpNode = document.getElementById("PageJump");
       
    PageIndex = parseInt(jumpNode.value);

    CallBack(PageIndex);
}

// 第一页
function FirstPage() {

 if (PageIndex!=1)
{
    PageIndex = 1;
    var jumpNode = document.getElementById("PageJump");
    jumpNode.value = PageIndex;

    CallBack(PageIndex);
    }

}

 

好了就写这么多吧!


 

 

      

 

 

posted @ 2012-08-03 13:25  kingNull  阅读(4709)  评论(4编辑  收藏  举报