Red de conocimiento informático - Aprendizaje de programación - Cómo escribir el complemento de paginación jquery ajax

Cómo escribir el complemento de paginación jquery ajax

Incluyendo reintentos de fallas de carga comunes, parámetros configurables para ingresar números de página manualmente, configurar la cantidad de botones, llamar a varias páginas, etc. El código de llamada es muy simple

kpage?=?$("#divPage").page({?dataCount:?e,?pageChange:?topage?}) ; } }); función?topage(i,?s)?{ // consulta de datos $("#divInfo").html("Cargando..."); / Lista",?/Servicio/Lista",?tipo:?"post",?data:?{?PageSize:?s,?PageIndex:?i?},?success:?function?(r)?{< / p>

$("#tList").html(r);

$("#divInfo").html(""); ?error: ?función?{< / p>

$("#divInfo").html("Error al cargar ...lt;a?href='javascript:reload();'gt;retrylt;/hrefgt;"); ) } función?reload()?{ kpage.reload(); }

lt;/scriptgt;

Jquery.kun_page.js específico:/*

--------------------------------

Configuración de parámetros:

dataCount: el número total de recuentos de datos

pageSize: el número de barras de datos en la página

maxButton: el número de botones de números de página

showCustom: ¿Se puede ingresar el número de página manualmente?

pageChange: evento pageChange

Parámetros: (i, s, c)

i: pageIndex, página actual

p>

s: pageSize, el número de elementos de datos de la página

c: pageCount, el número total de páginas

*

(function($ ){

$.fn .page?=?function?(config)?{ if(this.length! =?1)?{ throw?"k_page: llame varias veces si tiene varias páginas !" ; } var?{?dataCount:?1 ,?pageSize:?10,?maxButton:?6,?showCustom:?true,?pageChange:?null} config?$.extend(defaults,?config)

; if?(config.maxButton?lt;=?1)?config.maxButton?=?2; if?(config.pageSize?lt;?1)?config.pageSize?=?1; if?(config.maxButton??2?! =?0) config.maxButton; var?pageIndex?=?1, ?pageCount, ?move_kf; //Inicializar la función de recuento de páginas?initcount()?{ pageCount?=?config .dataCount??config.pageSize?==?0config.dataCount?/?config.pageSize? ?1 } initcount(); divgt;",?next?=?"lt;div?class="k_p_next"gt;nextlt;/divgt;",?pbody?=?",?pbody?$(""),?pcustom?=?$ ("lt;span?class="k_custom"gt; a la página? página?lt;/spangt;lt;div?class="k_btn"gt;OKlt;/divgt;"),?cl?=?"lt; div?class="k_cl"gt;lt;/divgt;",?pipt?=?$("lt;input?class="k_ipt"?type="text"gt;"); this.empty(). addClass("kun_page").append(prev); pipt.keypress(function?(e)?{ if(e. Which?==?13)?{

topage("OK");

return?false; } }).appendTo(pcustom.children()); if(config.pageChange)?{ this.unbind("click").bind("click",?function? (e)?{

var?$(e.target);

if(_t[0].tagName?==?" DIV"? amp;amp;? _t [0].className! ==?" kun_page")?{

topage(_t.text());

} } } función?topage(texto)? { cambiar?{

case?"previous":

if(pageIndex?-?1?lt;?1)?{ return;

}

pageIndex--;

move_kf?=?" sc_r";

break;

case?"next page":< / p>

if(pageIndex? ?1?gt;?pageCount)?{ return;

}

pageIndex;

move_kf?=? sc_l";

>romper;

caso?"OK":

if?(! /^\d $/.test(pipt.val()))?{ pipt.val(" "); retorno;

}

texto?=?parseInt(pipt.val());

si?(texto?lt;?1? ||?text?gt;?pageCount)?{ pipt.val(""); retorno;

}

predeterminado:

var?_pindex? =?parseInt(texto);

if?(pageIndex?==? _pindex) devuelve;

move_kf?=?pageIndex?lt;?_pindex "sc_l"? sc_r";

pageIndex?=? { if(config.pageChange)?{

if(config.dataCount! =?0)?{

config .pageChange(pageIndex,?config.pageSize,?pageCount);

endloading();