// get pagination object for some list data
(function($){

var _pageNum = 1;
var _pageCount = 25;

var _dataList,_sizeCount,_pageSize;

// --------- smr.Pagination Constructor --------- //
smr.Pagination = function Pagination(list){

if (!(this instanceof Pagination)) {
var pagination = new Pagination(list);
//init private members
_dataList = [].concat(list);
_sizeCount = _dataList.length;
_pageSize = getPageSize();
return pagination;
}
}
// --------- /smr.Pagination Constructor --------- // // --------- Public Methods --------- //
smr.Pagination.prototype.getList = function(){
return _dataList;
}
smr.Pagination.prototype.getPageInfo = function(){
return this.go(_pageNum);
}
smr.Pagination.prototype.setPageCount = function(pageCount){
_pageCount = pageCount;
_pageSize = getPageSize();
}
smr.Pagination.prototype.go = function(pageNum){
var pageCountNum = _pageCount;
if(_pageCount == "all"){
pageCountNum = _sizeCount;
}
var startRows = ( pageNum-1 ) * pageCountNum + 1;
var endRows = pageNum * pageCountNum;
if(_sizeCount == 0){
startRows = 0;
endRows = 0;
}else{
if(startRows > _sizeCount){
startRows = ( _pageSize-1 ) * pageCountNum + 1; 
endRows = _sizeCount;
_pageNum = _pageSize;
}else if(startRows <= _sizeCount && endRows > _sizeCount){
endRows = _sizeCount;
_pageNum = _pageSize;
}else{
_pageNum = pageNum;
}
}
var subList = [];
for(var i = startRows-1 ; i < endRows;i++){
subList.push(_dataList[i]);
}

var pageInfo = {
pageNum:_pageNum,
pageCount:_pageCount,
sizeCount:_sizeCount,
pageSize:getPageSize(),
pageList:subList,
startRows:startRows,
endRows:endRows,
isFirst:isFirst(),
isLast:isLast()
} return pageInfo;
}
smr.Pagination.prototype.next = function(){
return this.go(_pageNum + 1);
}
smr.Pagination.prototype.prev = function(){
return this.go(_pageNum - 1);
}
smr.Pagination.prototype.goFirst = function(){
return this.go(1);
}
smr.Pagination.prototype.goLast = function(){
return this.go(_pageSize);
}
// --------- /Public Methods --------- //

function isFirst(){
if(_pageNum == 1){
return true;
}
return false;
}

function isLast(){
if(_pageNum == _pageSize){
return true;
}
return false;
}

function getPageSize(){
var pageCountNum = _pageCount;
if(_pageCount == "all"){
pageCountNum = _sizeCount;
}
_pageSize = Math.ceil(_sizeCount / pageCountNum);
return _pageSize;
}})(jQuery);这段代码中的
smr.Pagination = function Pagination(list){

if (!(this instanceof Pagination)) {
var pagination = new Pagination(list);
//init private members
_dataList = [].concat(list);
_sizeCount = _dataList.length;
_pageSize = getPageSize();
return pagination;
}
}在IE8中得不到想要到的pagination对象,是为什么,在别的浏览器中就可以得到,请指教。

解决方案 »

  1.   

    IE8有很多缺陷 以前做项目时用IE8测试会出现一些莫名的问题  最好别用它 用IE7也别用IE8
    置于你说的问题 说实话 上来就粘贴上来一大堆代码 问题的描述寥寥数字 很少有人会愿意替你解答 也懒得看你的代码 最好先把问题简单化 
      

  2.   

    我这是做一个系统的,面向的是所有人,每个人用的浏览器肯定是不一样的,所以需要测试 对每个浏览器的支持。
    问题是,有两个页面,在谷歌浏览器中可以显示,在IE8中就不能完整的显示,下面的表格无法显示出来。我调 试了一下,说是上面的几行代码有问题,IE中Pagination对象无法得到里面的值,所以无法显示页面。我调试了,但不出结果,所以来求救