鄙人最近搞的JS分页程序

/***************************************************/ var pageFunc=function(){ //alert('here'); var _this=this; this.render=function(arr){//模拟类的抽象函数 throw new Error('该函数不能为空'); } this.renderButton=function(){//模拟类的抽象函数 throw new Error('该函数不能为空'); } this.bindEvent=function(){//模拟类的抽象函数 throw new Error('该函数不能为空'); } this.init=function(){ throw new Error('该函数不能为空'); } this.getChangePage=function(){ throw new Error('该函数不能为空'); } this.getPages=function(){ return 0; } this.pages=_this.getPages(); this.currentPage=1; this.pageSize=3; this.getNextPage=function(){ var _nextPage=_this.currentPage+1; if(_nextPage>=_this.pages){ _nextPage=_this.pages; } return _nextPage; } this.getPreviousPage=function(){ var _previousPage=1; _previousPage=_this.currentPage-1; if(_previousPage<=0){ _previousPage=1; } return _previousPage; } this.gotoPage=function(pageNum){ if(pageNum!=_this.currentPage){ var _arr=''; _arr=[]; _arr['start']=pageNum-1; _arr['len']=_this.pageSize; _this.render(_arr); _this.currentPage=pageNum; _this.getChangePage(); //alert(pageNum); } } this.gotoFirstPage=function(){ //alert('gotoFirstPage'); //alert(_arr['start']); _this.gotoPage(1); } this.gotoLastPage=function(){ _this.gotoPage(_this.pages); } this.gotoNextPage=function(){ var _nextPage=_this.currentPage+1; if(_nextPage>_this.pages){ _nextPage=_this.pages; } _this.gotoPage(_nextPage); } this.gotoPreviousPage=function(){ var _previousPage=_this.currentPage-1; if(_previousPage<1){ _previousPage=1 } _this.gotoPage(_previousPage); } this.run=function(){ _this.pages=_this.getPages(); _this.currentPage=1; _this.renderButton(); _this.render({start:1,len:_this.pageSize}); } } /***************************************************/ //alert($('div[calss=pages]').html()); var page=new pageFunc(); page.pageSize=3; page.init=function(){ $('.pages').children().css('cursor','pointer'); } page.render=function(arr){//arr['start'],arr['len'] $('.itemDl').children().slideUp(100); //console.log(arr['len']); $('.itemDl').children().slice(arr['start'],arr['start']+arr['len']).slideDown(1000); //console.log($('.itemDl').siblings().slice(arr['start'],arr['start']+arr['len']).length); //alert($('.itemDl').find('dd').length); } page.bindEvent=function(){ var _this=this; _this.init(); $('.pages li[rel=firstPage]').live('click',function(e){ //alert('firstPage'); _this.gotoFirstPage(); }); $('.pages li[rel=lastPage]').live('click',function(e){ _this.gotoLastPage(); }); $('.pages li[rel=previousPage]').live('click',function(e){ _this.gotoPreviousPage(); }); $('.pages li[rel=nextPage]').live('click',function(e){ _this.gotoNextPage(); }); $('.pages').find('li').each(function(index){ var _that=$(this); var _rel=_that.attr('rel'); if(_rel!='firstPage'&&_rel!='previousPage'&&_rel!='nextPage'&&_rel!='lastPage'&&_rel!='total'&&_rel!='gotoPage'){ _that.live('click',function(e){ _this.gotoPage(_rel); }); } }); $('.pages select').live('change',function(e){ //alert(e.type); var _pageNum=$(this).val(); _this.gotoPage(_pageNum); }); } page.renderButton=function(){ $('.pages').html(''); var _totalPages=this.pages; var _nowPage=this.currentPage; var _listButton=''; var _listSelect=''; for(var i=0;i<_totalPages;i++){ _listButton+='<li rel="'+(i+1)+'">'+(i+1)+'</li>'; _listSelect+='<option>'+(i+1)+'</option>'; } var _content='<form><ul class="pagelist"><li rel="firstPage" class="firstpage">首页</li><li rel="previousPage">上一页</li>'+_listButton+'<li rel="nextPage">下一页></li><li rel="lastPage">末页</li><li rel="total">共'+_totalPages+'页/第'+_nowPage+'页</li><li rel="gotoPage" class="pagelast">跳到<select class="pagesxz" name="gotoPage">'+_listSelect+'</select> 页</li></ul></form>'; $('.pages').html(_content); //alert(_content); //document.write(_content); this.bindEvent(); } page.getPages=function(){ var _len=parseInt($('.itemDl').children('dd').length); //alert(_len); var _pages=''; //alert(this.pageSize); if(_len%this.pageSize==0){ _pages=_len/this.pageSize }else{ //alert(_len/this.pageSize); _pages=parseInt(_len/this.pageSize)+1; //alert(parseInt(_len/this.pageSize)+1); } return _pages; } page.getChangePage=function(){ $('.pages li[rel=total]').html('共'+this.pages+'页/第'+this.currentPage+'页'); $('.pages li[rel='+this.currentPage+']').addClass('thispage').siblings().removeClass('thispage'); } page.run(); //alert(run.pages); //run.gotoNextPage(); /**********************************************************/
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值