前に書いたjqueryのページングをアップグレードします
5156 ワード
以前书いたページ分けには长い时间がかかりましたが、ページ分けにはページ以外にもいくつかのパラメータが渡されることがあります.以前は操作时にパスのパラメータを隠しhiddenの中に置いて、ページ分けの时に取り出すのが面倒でした.今日は大丈夫です.包装し直しました.
直接コードをつけましょう
cssはbootstrapでページングするスタイルを使いました
ページングコード:
if (curPageNum <= 0)
curPageNum = 1;
if (AllPage > 1) {
if (curPageNum != 1) {
//トップページ接続処理
var home=1;
if(hasParam)
{
home=home+","+paramStr;
}
navHtml += " |< ";
}
if (curPageNum > 1) {
var previous=parseInt(parseInt(curPageNum) - 1);
if(hasParam)
{
previous=previous+","+paramStr;
}
//前ページへの接続処理
navHtml += " << ";
}
else {
navHtml += "<< ";
}
var currint = 5;
for (var i = 0; i <= 10; i++) {
//最大10ページ、前5ページ、後ろ5ページまで表示
if ((curPageNum + i - currint) >= 1 && (curPageNum + i - currint) <= AllPage)
if (currint == i) {
//現在のページ処理
navHtml += "" + curPageNum + "(current) ";
}
else {
//一般ページ処理
var n = parseInt(parseInt(curPageNum) + parseInt(i) - parseInt(currint));
var nstr=n;
if(hasParam)
{
nstr=nstr+","+paramStr;
}
navHtml += " " + n + " ";
}
}
if (curPageNum < AllPage) {
//次ページへのリンク処理
var next=parseInt(parseInt(curPageNum) + 1);
if(hasParam)
{
next=next+","+paramStr;
}
navHtml += " >> ";
}
else {
navHtml += ">> ";
}
if (curPageNum != AllPage) {
var last=parseInt(AllPage);
if(hasParam)
{
last=last+","+paramStr;
}
navHtml += " >| ";
}
}
if(parseInt(AllPage)!=0)
{
navHtml += " " + curPageNum + "/" + AllPage + " ";
}
navHtml+="";
return navHtml;
};
})(jQuery);
呼び出し方法:
注意:第1パラメータは必ず現在のページの値ですね.
直接コードをつけましょう
cssはbootstrapでページングするスタイルを使いました
.pagination-lg > li:first-child > a,
.pagination-lg > li:first-child > span {
border-bottom-left-radius: 6px;
border-top-left-radius: 6px;
}
.pagination-lg > li:last-child > a,
.pagination-lg > li:last-child > span {
border-top-right-radius: 6px;
border-bottom-right-radius: 6px;
}
.pagination-sm > li > a,
.pagination-sm > li > span {
padding: 5px 10px;
font-size: 12px;
}
.pagination-sm > li:first-child > a,
.pagination-sm > li:first-child > span {
border-bottom-left-radius: 3px;
border-top-left-radius: 3px;
}
.pagination-sm > li:last-child > a,
.pagination-sm > li:last-child > span {
border-top-right-radius: 3px;
border-bottom-right-radius: 3px;
}
.sr-only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
border: 0;
}
ページングコード:
(function ($) {
var PageFunc = function PageFunc() { }
$.PageFunc = function (Total, PageSize, curPageNum, FunUrl,paramStr) {
if (PageSize == "" || PageSize == null || PageSize == undefined) {
PageSize = 10;
}
if (curPageNum == "" || curPageNum == null || curPageNum == undefined) {
curPageNum = 1;
}
var hasParam=true;
if (paramStr == "" || paramStr == null || paramStr == undefined) {
hasParam = false;
}
//
Total = parseInt(Total); //
PageSize = parseInt(PageSize); //
curPageNum = parseInt(curPageNum); //
//
var AllPage = Math.floor(Total / PageSize);
if (Total % PageSize != 0) {
AllPage++;
}
var navHtml = "
";if (curPageNum <= 0)
curPageNum = 1;
if (AllPage > 1) {
if (curPageNum != 1) {
//トップページ接続処理
var home=1;
if(hasParam)
{
home=home+","+paramStr;
}
navHtml += "
}
if (curPageNum > 1) {
var previous=parseInt(parseInt(curPageNum) - 1);
if(hasParam)
{
previous=previous+","+paramStr;
}
//前ページへの接続処理
navHtml += "
}
else {
navHtml += "<< ";
}
var currint = 5;
for (var i = 0; i <= 10; i++) {
//最大10ページ、前5ページ、後ろ5ページまで表示
if ((curPageNum + i - currint) >= 1 && (curPageNum + i - currint) <= AllPage)
if (currint == i) {
//現在のページ処理
navHtml += "" + curPageNum + "(current) ";
}
else {
//一般ページ処理
var n = parseInt(parseInt(curPageNum) + parseInt(i) - parseInt(currint));
var nstr=n;
if(hasParam)
{
nstr=nstr+","+paramStr;
}
navHtml += "
}
}
if (curPageNum < AllPage) {
//次ページへのリンク処理
var next=parseInt(parseInt(curPageNum) + 1);
if(hasParam)
{
next=next+","+paramStr;
}
navHtml += "
}
else {
navHtml += ">> ";
}
if (curPageNum != AllPage) {
var last=parseInt(AllPage);
if(hasParam)
{
last=last+","+paramStr;
}
navHtml += "
}
}
if(parseInt(AllPage)!=0)
{
navHtml += "
}
navHtml+="";
return navHtml;
};
})(jQuery);
呼び出し方法:
注意:第1パラメータは必ず現在のページの値ですね.
function aa(curpage,param1,param2){
if (curpage == "" || curpage == null || curpage == undefined) {
curpage = 1;
}
var pagesize = 5;
var paramStr="";
paramStr=param1+","+param2+";
$.post("/appdefult/apporder",{"categoryId":param1,"name":param2,"curpage":curpage,"pagesize":pagesize},function(mydata){
var pageHtml= $.PageFunc(mydata.total, pagesize, curpage, "aa",paramStr);
$(".page").html(pageHtml);
},"json");
}