分享一个分页的JS

function Page(iAbsolute, sTableId, sTBodyId, page) {
		alert('page function');
		this.absolute = iAbsolute; //每页最大记录数 
		this.tableId = sTableId;
		this.tBodyId = sTBodyId;
		this.rowCount = 0;//记录数 
		this.pageCount = 0;//页数 
		this.pageIndex = 0;//页索引 
		this.__oTable__ = null;//表格引用 
		this.__oTBody__ = null;//要分页内容 
		this.__dataRows__ = 0;//记录行引用 
		this.__oldTBody__ = null;
		this.__init__(); //初始化; 
	};
	/**//* 
			初始化 
	 */
	Page.prototype.__init__ = function() {
		alert('page init function');
		this.__oTable__ = document.getElementById(this.tableId);//获取table引用 
		this.__oTBody__ = this.__oTable__.tBodies[this.tBodyId];//获取tBody引用 
		this.__dataRows__ = this.__oTBody__.rows;
		this.rowCount = this.__dataRows__.length;
		try {
			this.absolute = (this.absolute <= 0)
					|| (this.absolute > this.rowCount) ? this.rowCount
					: this.absolute;
			this.pageCount = parseInt(this.rowCount % this.absolute == 0 ? this.rowCount
					/ this.absolute
					: this.rowCount / this.absolute + 1);
		} catch (exception) {
		}
		this.__updateTableRows__();
	};
	Page.prototype.GetBar = function(obj) {
		var bar = document.getElementById(obj.id);
		bar.innerHTML = "每页" + this.absolute + "条/共" + this.rowCount + "条";// 第2页/共6页 首页 上一页 1 2 3 4 5 6 下一页 末页 
	}
	/**//* 
			下一页 
	 */
	Page.prototype.nextPage = function() {
		if (this.pageIndex + 1 < this.pageCount) {
			this.pageIndex += 1;
			this.__updateTableRows__();
		}
	};
	/**//* 
			上一页 
	 */
	Page.prototype.prePage = function() {
		if (this.pageIndex >= 1) {
			this.pageIndex -= 1;
			this.__updateTableRows__();
		}
	};
	/**//* 
			首页 
	 */
	Page.prototype.firstPage = function() {
		if (this.pageIndex != 0) {
			this.pageIndex = 0;
			this.__updateTableRows__();
		}
	};
	/**//* 
			尾页 
	 */
	Page.prototype.lastPage = function() {
		if (this.pageIndex + 1 != this.pageCount) {
			this.pageIndex = this.pageCount - 1;
			this.__updateTableRows__();
		}
	};
	/**//* 
			页定位方法 
	 */
	Page.prototype.aimPage = function() {
		var abc = document.getElementById("pageno");
		var iPageIndex = abc.value;
		var iPageIndex = iPageIndex * 1;
		if (iPageIndex > this.pageCount - 1) {
			this.pageIndex = this.pageCount - 1;
		} else if (iPageIndex < 0) {
			this.pageIndex = 0;
		} else {
			this.pageIndex = iPageIndex - 1;
		}
		this.__updateTableRows__();
	};
	/**//* 
			执行分页时,更新显示表格内容 
	 */
	Page.prototype.__updateTableRows__ = function() {
		var iCurrentRowCount = this.absolute * this.pageIndex;
		var iMoreRow = this.absolute + iCurrentRowCount > this.rowCount ? this.absolute
				+ iCurrentRowCount - this.rowCount
				: 0;
		var tempRows = this.__cloneRows__();
		var removedTBody = this.__oTable__.removeChild(this.__oTBody__);
		var newTBody = document.createElement("TBODY");
		newTBody.setAttribute("id", this.tBodyId);
		for ( var i = iCurrentRowCount; i < this.absolute + iCurrentRowCount
				- iMoreRow; i++) {
			newTBody.appendChild(tempRows[i]);
		}
		this.__oTable__.appendChild(newTBody);
		this.__dataRows__ = tempRows;
		this.__oTBody__ = newTBody;
		//页脚显示分 
		var divFood = document.getElementById("divFood");//分页工具栏 
		divFood.innerHTML = "";
		var rightBar = document.createElement("divFood");
		rightBar.setAttribute("display", "");
		rightBar.setAttribute("float", "left");
		rightBar.innerHTML = "第" + (this.pageIndex + 1) + "页/共"
				+ this.pageCount + "页";
		var isOK = "Y";
		var cssColor = "";
		divFood.appendChild(rightBar);
		页脚显示分页结 
	};
	/**//* 
			克隆原始操作行集合 
	 */
	Page.prototype.__cloneRows__ = function() {
		var tempRows = [];
		for ( var i = 0; i < this.__dataRows__.length; i++) {
			tempRows[i] = this.__dataRows__[i].cloneNode(1);
		}
		return tempRows;
	};


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值