+ -
当前位置:首页 → 问答吧 → js关于ie8的问题

js关于ie8的问题

时间:2011-11-01

来源:互联网

// 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对象,是为什么,在别的浏览器中就可以得到,请指教。

作者: myf408   发布时间: 2011-11-01

没人知道吗,求救啊

作者: myf408   发布时间: 2011-11-02

呵呵太专业了我也不是很明白,还是给你一个结贴的理由吧。

作者: xingyue2006   发布时间: 2011-11-02

引用 2 楼 xingyue2006 的回复:
呵呵太专业了我也不是很明白,还是给你一个结贴的理由吧。

不会吧,就没人知道呀,高手呢,求救呀,急等

作者: myf408   发布时间: 2011-11-02

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

作者: xue_feitian   发布时间: 2011-11-02

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

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

作者: myf408   发布时间: 2011-11-02