jquery分页展示控件 kkpager

本demo将讲解两种方式:
一: link模式 (设置a标签链接地址,跟不同参数:<a href="xxxx.html?current=3">3</a>;current:当前页码)
二:click模式 (自定义函数跳转,ajax方式,通过点击事件发送ajax请求获取数据。ajax分页)
===================================================================================
准备工作,引入js 和css
<script 
type= "text/javascript"  src= "../lib/jquery-1.10.2.min.js" ></script>
<script  type= "text/javascript"  src= "../src/kkpager.min.js" ></script>
<link  rel= "stylesheet"  type= "text/css"  href= "../src/kkpager.css"  />
HTML DO

<div id="kkpager"></div> 


调用方法

1、使用link模式
<script type="text/javascript">
//生成分页控件  
kkpager.generPageHtml({
    pno : '${p.pageNo}',
    mode : 'link', //可选,默认就是link
    //总页码  
    total : '${p.totalPage}',  
    //总数据条数  
    totalRecords : '${p.totalCount}',  
    //链接前部  
    hrefFormer : '${hrefFormer}',
    //链接尾部  
    hrefLatter : '${hrefLatter}',
    //链接算法
    getLink : function(n){
        //这里是默认算法,算法适用于比如:
        //hrefFormer=http://www.xx.com/news/20131212
        //hrefLatter=.html
        //那么首页(第1页)就是http://www.xx.com/news/20131212.html
        //第2页就是http://www.xx.com/news/20131212_2.html
        //第n页就是http://www.xx.com/news/20131212_n.html
        if(n == 1){
            return this.hrefFormer + this.hrefLatter;
        }
        return this.hrefFormer + '_' + n + this.hrefLatter;
    }

});
</script>

getLink 参数需要按需要重写。

2、使用click模式(自定义跳转函数)
<script type="text/javascript">
//生成分页控件  
kkpager.generPageHtml({
    pno : '${p.pageNo}',
    mode : 'click', //设置为click模式
    //总页码  
    total : '${p.totalPage}',  
    //总数据条数  
    totalRecords : '${p.totalCount}',
    //点击页码、页码输入框跳转、以及首页、下一页等按钮都会调用click
    //适用于不刷新页面,比如ajax
    click : function(n){
        //这里可以做自已的处理
        //...
        //处理完后可以手动条用selectPage进行页码选中切换
        this.selectPage(n);
    },
    //getHref是在click模式下链接算法,一般不需要配置,默认代码如下
    getHref : function(n){
        return '#';
    }

});
</script>

click 参数需要按需要重写,而getHref一般需要配置。

必选参数

pno 当前页码

total 总页码

totalRecords 总数据条数

 

可选参数

pagerid 分页展示控件容器ID 字符串 默认值 'kkpager'

mode 模式,click或link 字符串 默认值 'link'

isShowTotalPage 是否显示总页数 布尔型 默认值 true

isShowCurrPage 是否显示当前页 布尔型 默认值 true

isShowTotalRecords 是否显示总记录数 布尔型 默认值 false (当isShowTotalPagetrue时,此设置无效)

isShowFirstPageBtn 是否显示首页按钮 布尔型 默认值 true

isShowLastPageBtn 是否显示尾页按钮 布尔型 默认值 true

isShowPrePageBtn 是否显示上一页按钮 布尔型 默认值 true

isShowNextPageBtn 是否显示下一页按钮 布尔型 默认值 true

isGoPage 是否显示页码跳转输入框 布尔型 默认值 true

isWrapedPageBtns 是否用span包裹住页码按钮 布尔型 默认值 true

isWrapedInfoTextAndGoPageBtn 是否用span包裹住分页信息和跳转按钮 布尔型 默认值 true

hrefFormer 链接前部 字符串 默认值 ''

hrefLatter 链接尾部 字符串 默认值 ''

lang 语言配置对象,属性配置列表:

  • firstPageText 首页按钮文本 字符串 默认值 '首页'

  • firstPageTipText 首页按钮提示文本 字符串 默认值 '首页'

  • lastPageText 尾页按钮文本 字符串 默认值 '尾页'

  • lastPageTipText 尾页按钮提示文本 字符串 默认值 '尾页'

  • prePageText 上一页按钮文本 字符串 默认值 '上一页'

  • prePageTipText 上一页按钮提示文本 字符串 默认值 '上一页'

  • nextPageText 下一页按钮文本 字符串 默认值 '下一页'

  • nextPageTipText 下一页提示按钮文本 字符串 默认值 '下一页'

  • totalPageBeforeText 总页数前缀文本 字符串 默认值 '共'

  • totalPageAfterText 总页数后缀文本 字符串 默认值 '页'

  • currPageBeforeText 当前页前缀文本 字符串 默认值 '当前第'

  • currPageAfterText 当前页后缀文本 字符串 默认值 '页'

  • totalInfoSplitStr 分页统计信息部分的分隔符 字符串 默认值 '/'

  • totalRecordsBeforeText 总记录数前缀文本 字符串 默认值 '共'

  • totalRecordsAfterText 总记录数后缀文本 字符串 默认值 '条数据'

  • gopageBeforeText 跳转前缀文本 字符串 默认值 '转到'

  • gopageAfterText 跳转前缀文本 字符串 默认值 '页'

  • gopageButtonOkText 跳转按钮文本 字符串 默认值 '确定'

  • buttonTipBeforeText 页码按钮提示信息前缀 字符串 默认值 '第'

  • buttonTipAfterText 页码按钮提示信息后缀 字符串 默认值 '页'

gopageWrapId 页码跳转dom ID 字符串 默认值 'kkpager_gopage_wrap'

gopageButtonId 页码跳转按钮dom ID 字符串 默认值 'kkpager_btn_go'

gopageTextboxId 页码输入框dom ID 字符串 默认值 'kkpager_btn_go_input'

getLink 链接算法函数(仅适用于mode为link) 函数类型

click 自定义事件处理函数(仅适用于mode为click) 函数类型

getHref 链接算法函数(仅适用于mode为click) 函数类型

公开方法

selectPage 手动调用此函数选中某个页码

   //选中第2页码
   kkpager.selectPage(2);

默认链接算法,按需重写

//默认链接算法函数,使用时需要按需要重写
getLink : function(n){
    //这里的算法适用于比如:
    //hrefFormer=http://www.xx.com/news/20131212
    //hrefLatter=.html
    //那么首页(第1页)就是http://www.xx.com/news/20131212.html
    //第2页就是http://www.xx.com/news/20131212_2.html
    //第n页就是http://www.xx.com/news/20131212_n.html
    if(n == 1){
        return this.hrefFormer + this.hrefLatter;
    }
    return this.hrefFormer + '_' + n + this.hrefLatter;
}


具体实现示例

                                   var result = queryProductList(1);// 发送请求
				  //数据总条数
				  var totalCount = result['totalCount'];
				  var totalPageCount = result['totalPageCount'];// 总页数
				  var pageSize = result['pageSize'];//每页显示个数
				  var pageNo = result['pageNo'];//当前第几页
				  
				  setList(result['result']);//填充数据
				  
				 //分页控件
				  kkpager.generPageHtml({
				       //设置为click模式
				  	mode : 'click', 
					pno : pageNo,
					//总页码
					total : totalPageCount,
					//总数据条数
					totalRecords : totalCount,
					//点击页码、页码输入框跳转、以及首页、下一页等按钮都会调用click
					//适用于不刷新页面,比如ajax
				        //点击页码的函数,这里发送ajax请求后台  
			                click:function(n){  
			            	//根据电机的页码 发送请求
			            	var result = queryProductList(n); 
			            	//填充数据
			            	setList(result['result']);
			            	this.selectPage(n); //手动条用selectPage进行页码选中切换  
			           },
					    //getHref是在click模式下链接算法,一般不需要配置,默认代码如下
					    getHref : function(n){
					        return '#';
					    }
				  	});
				 	
				 	//发送请求
				 	function queryProductList(pageNo)
				 	{
				 		  var params = {};
				 		  params['pageNo'] = pageNo;
						  params['pageSize'] = 4;
						  var result = jQuery.parseJSON(jQuery.ajax({
								async: false,
								url: basePath + 'web/productListSearch!getAllProductList.json',
								data: params,
								type: 'POST',
								dataType: 'json'
							}).responseText)['result'];
						  
						  return result;
				 	}
				 	
				  	//填充商品数据信息
				  	function setList(listData) {
				  		var listItem = $('.all-list');
				  		listItem.empty();
				  		
					  	var tmpl = '<li>'+
	                        <!-- 未能成功加载时的替代图片 -->
	                      ' <span class="img-no"></span>' + 
	                        <!-- 产品图 -->
	                      ' <div class="pic">' + 
	                      ' 	<a href=""><img src="${basePath}/download.stream?filePath={FILEPATH}" height="210" width="210" alt="" /></a>' + 
	                      ' </div>' + 
	                        <!-- 价格 -->
	                      ' <div class="price">' + 
	                      '   <span>¥<strong>{PRICE}</strong></span>' + 
	                      ' </div>' + 
	                       <!-- 产品名 -->
	                      ' <div class="name-a">' + 
	                      '		<a href="">{NAME}</a>' + 
	                      ' </div>' + 
	                      ' <div class="name-b">' + 
	                      '    <a href="">此款大部分虾腹部含饱满</a>' + 
	                      ' </div>' + 
	                       <!-- 产品评价 -->
	                      ' <div class="comment">' + 
	                      '    <a href="">已有3456评价</a>' + 
	                      ' </div>' + 
	                       <!-- 加入购物车 行动-->
	                      ' <div class="action">' + 
	                      '    <div class="p-num">' + 
	                      '       <span>' + 
	                      '           <input type="text"class="numbers" value="1" />' + 
	                      '       </span>' +
	                      '       <span>' + 
	                      '          <a href="" class="p-add">+</a>' + 
	                      '          <a href="" class="p-reduce disable">-</a>' + 
	                      '       </span>' + 
	                      ' 	</div>' + 
	                      ' 	<div class="p-btn"><a href="">进入购物车</a></div>' + 
	                      '   	<div class="prompt">' + 
	                      '      	<a href="" class="select">销</a>' + 
	                      '       	<a href="">新</a>' + 
	                      '       	<a href="">推</a>' + 
	                      '   	</div>' + 
	                      '</div>' + 
	                   '</li>';
	                   
				  		for (var i = 0, ilen = listData.length; i < ilen; i++) {
				  			var d = {
				  				UUID : listData[i]['UUID'],
				  				NAME : listData[i]['NAME'],
				  				PRICE : listData[i]['PRICE'],
				  				FILEPATH : listData[i]['FILEPATH']
				  			};
				  			listItem.append(nano(tmpl, d));
				  		}
				  	}
				  
			});
		



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值