mirror of
https://github.com/jquery/jquery.git
synced 2026-02-17 16:51:22 -05:00
Added all the new documentation files.
This commit is contained in:
93
docs/pager.js
Normal file
93
docs/pager.js
Normal file
@@ -0,0 +1,93 @@
|
||||
$.fn.clone = function(){
|
||||
return this.pushStack( $.map(this,"a.cloneNode(true)"), arguments );
|
||||
};
|
||||
|
||||
|
||||
$.fn.pager = function(step,fn) {
|
||||
var types = {
|
||||
UL: "li",
|
||||
OL: "li",
|
||||
DL: "dt",
|
||||
TABLE: "tbody > tr"
|
||||
};
|
||||
|
||||
return this.each(function(){
|
||||
var pagedUI = this;
|
||||
var rows = $(types[this.nodeName], this);
|
||||
var curPage = 0;
|
||||
var names = [], num = [];
|
||||
|
||||
if ( !step || step.constructor != Function ) {
|
||||
step = step || 10;
|
||||
|
||||
if (rows.length > step)
|
||||
for ( var i = 0; i <= rows.length; i += step ) {
|
||||
names.push( names.length + 1 );
|
||||
num.push( [ i * step, step ] );
|
||||
}
|
||||
} else {
|
||||
var last;
|
||||
rows.each(function(){
|
||||
var l = step.apply( this ).substr(0,1);
|
||||
if ( l != last ) {
|
||||
names.push( l.toUpperCase() );
|
||||
var pre = num.length ? num[ num.length - 1 ][0] + num[ num.length - 1 ][1] : 0;
|
||||
|
||||
num.push( [ pre, 0 ] );
|
||||
last = l;
|
||||
}
|
||||
|
||||
num[ num.length - 1 ][1]++;
|
||||
});
|
||||
}
|
||||
|
||||
if ( names.length ) {
|
||||
var pager = $("<ul class='nav-page'></ul>");
|
||||
|
||||
for ( var i = 0; i < names.length; i++ )
|
||||
$("<a href=''></a>").rel( i ).html( names[i] ).click(function() {
|
||||
return handleCrop( this.rel );
|
||||
}).wrap("<li></li>").parent().appendTo(pager);
|
||||
|
||||
pager.insertBefore( this );
|
||||
|
||||
var prev = $("<a href=''>« Prev</a>").click(function(){
|
||||
return handleCrop( --curPage );
|
||||
}).wrap("<li class='prev'></li>").parent().prependTo(pager);
|
||||
|
||||
var next = $("<a href=''>Next »</a>").click(function(){
|
||||
return handleCrop( ++curPage );
|
||||
}).wrap("<li class='next'></li>").parent().appendTo(pager);
|
||||
|
||||
handleCrop( 0 );
|
||||
}
|
||||
|
||||
function handleCrop( page ) {
|
||||
curPage = page - 0;
|
||||
var s = num[ curPage ][0];
|
||||
var e = s + num[ curPage ][1];
|
||||
|
||||
if ( !curPage ) prev.hide();
|
||||
else prev.show();
|
||||
|
||||
if ( curPage == names.length - 1 ) next.hide();
|
||||
else next.show();
|
||||
|
||||
$("li",pager)
|
||||
.removeClass("cur")
|
||||
.eq( curPage + 1 )
|
||||
.addClass("cur");
|
||||
|
||||
rows
|
||||
.hide()
|
||||
.gt(s - 1).lt(e)
|
||||
.show()
|
||||
.end().end();
|
||||
|
||||
if ( fn )
|
||||
fn.apply( pagedUI, [ s, e ] );
|
||||
|
||||
return false;
|
||||
}
|
||||
});
|
||||
};
|
||||
Reference in New Issue
Block a user