/** * @Author Mona * @Date 2016-11-07 * @param selector {string} 当前要渲染的分页控件的容器 * @param totalPage {int} 总页数 * @param renderDataCallBack 分页回调函数,按照当前的分页去获取数据 * @return 当前分页对象 */ function PageBar(selector,totalPage,renderDataCallBack){ var _this = this; _this.selector = selector; _this.totalPage = totalPage; _this.renderDataCallBack = renderDataCallBack; _this._init(); } PageBar.prototype = { _init:function(){ var _this = this; _this._renderBar(1,1); }, _renderBar:function(start,curPageNo){ var _this = this; var $ul=$("<ul></ul>") for(var i=0;i<6;i++){ if(i+start<=_this.totalPage){ var $li=$('<li>'+(i+start)+'</li>'); if(i+start==curPageNo) { $li.addClass('active'); } $li.click(function(){ _this.liClick(this); }); $ul.append($li); } } $('#pageBar').empty().append($ul); }, liClick:function(li){ var _this = this; var curPageNo = parseInt($(li).text()); if($(li).index()==0&&curPageNo!==1) { var start1 = curPageNo-6+1; _this._renderBar(start1,curPageNo); } else if($(li).index()==6-1&&curPageNo<_this.totalPage) { _this._renderBar(curPageNo,curPageNo); } else { $(li).addClass('active').siblings().removeClass('active'); } _this.renderDataCallBack(curPageNo); } } /* function callback(curPageNo){ $.ajax({ type:'post', data:{pageNo:curPageNo}, success:function(data){ } }) } new PageBar('#pageBar',33,callback);*/