The two default pagination styles that DataTables comes with are great for basic tables, but you might which to add extra customisation or a bit of 'glitz'. This plug-in will scroll the table in an animated style.
Rendering engine | Browser | Platform(s) | Engine version | CSS grade |
---|---|---|---|---|
Rendering engine | Browser | Platform(s) | Engine version | CSS grade |
Gecko | Firefox 1.0 | Win 98+ / OSX.2+ | 1.7 | A |
Gecko | Firefox 1.5 | Win 98+ / OSX.2+ | 1.8 | A |
Gecko | Firefox 2.0 | Win 98+ / OSX.2+ | 1.8 | A |
Gecko | Firefox 3.0 | Win 2k+ / OSX.3+ | 1.9 | A |
Gecko | Camino 1.0 | OSX.2+ | 1.8 | A |
Gecko | Camino 1.5 | OSX.3+ | 1.8 | A |
Gecko | Netscape 7.2 | Win 95+ / Mac OS 8.6-9.2 | 1.7 | A |
Gecko | Netscape Browser 8 | Win 98SE+ | 1.7 | A |
Gecko | Netscape Navigator 9 | Win 98+ / OSX.2+ | 1.8 | A |
Gecko | Mozilla 1.0 | Win 95+ / OSX.1+ | 1 | A |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 | /* Time between each scrolling frame */ $.fn.dataTableExt.oPagination.iTweenTime = 100; $.fn.dataTableExt.oPagination.scrolling = { "fnInit" : function ( oSettings, nPaging, fnCallbackDraw ) { /* Store the next and previous elements in the oSettings object as they can be very * usful for automation - particularly testing */ var nPrevious = document.createElement( 'div' ); var nNext = document.createElement( 'div' ); if ( oSettings.sTableId !== '' ) { nPaging.setAttribute( 'id' , oSettings.sTableId+ '_paginate' ); nPrevious.setAttribute( 'id' , oSettings.sTableId+ '_previous' ); nNext.setAttribute( 'id' , oSettings.sTableId+ '_next' ); } nPrevious.className = "paginate_disabled_previous" ; nNext.className = "paginate_disabled_next" ; nPrevious.title = oSettings.oLanguage.oPaginate.sPrevious; nNext.title = oSettings.oLanguage.oPaginate.sNext; nPaging.appendChild( nPrevious ); nPaging.appendChild( nNext ); $(nPrevious).click( function () { /* Disallow paging event during a current paging event */ if ( typeof oSettings.iPagingLoopStart != 'undefined' && oSettings.iPagingLoopStart != -1 ) { return ; } oSettings.iPagingLoopStart = oSettings._iDisplayStart; oSettings.iPagingEnd = oSettings._iDisplayStart - oSettings._iDisplayLength; /* Correct for underrun */ if ( oSettings.iPagingEnd < 0 ) { oSettings.iPagingEnd = 0; } var iTween = $.fn.dataTableExt.oPagination.iTweenTime; var innerLoop = function () { if ( oSettings.iPagingLoopStart > oSettings.iPagingEnd ) { oSettings.iPagingLoopStart--; oSettings._iDisplayStart = oSettings.iPagingLoopStart; fnCallbackDraw( oSettings ); setTimeout( function () { innerLoop(); }, iTween ); } else { oSettings.iPagingLoopStart = -1; } }; innerLoop(); } ); $(nNext).click( function () { /* Disallow paging event during a current paging event */ if ( typeof oSettings.iPagingLoopStart != 'undefined' && oSettings.iPagingLoopStart != -1 ) { return ; } oSettings.iPagingLoopStart = oSettings._iDisplayStart; /* Make sure we are not over running the display array */ if ( oSettings._iDisplayStart + oSettings._iDisplayLength < oSettings.fnRecordsDisplay() ) { oSettings.iPagingEnd = oSettings._iDisplayStart + oSettings._iDisplayLength; } var iTween = $.fn.dataTableExt.oPagination.iTweenTime; var innerLoop = function () { if ( oSettings.iPagingLoopStart < oSettings.iPagingEnd ) { oSettings.iPagingLoopStart++; oSettings._iDisplayStart = oSettings.iPagingLoopStart; fnCallbackDraw( oSettings ); setTimeout( function () { innerLoop(); }, iTween ); } else { oSettings.iPagingLoopStart = -1; } }; innerLoop(); } ); /* Take the brutal approach to cancelling text selection */ $(nPrevious).bind( 'selectstart' , function () { return false ; } ); $(nNext).bind( 'selectstart' , function () { return false ; } ); }, "fnUpdate" : function ( oSettings, fnCallbackDraw ) { if ( !oSettings.aanFeatures.p ) { return ; } /* Loop over each instance of the pager */ var an = oSettings.aanFeatures.p; for ( var i=0, iLen=an.length ; i<iLen ; i++ ) { if ( an[i].childNodes.length !== 0 ) { an[i].childNodes[0].className = ( oSettings._iDisplayStart === 0 ) ? oSettings.oClasses.sPagePrevDisabled : oSettings.oClasses.sPagePrevEnabled; an[i].childNodes[1].className = ( oSettings.fnDisplayEnd() == oSettings.fnRecordsDisplay() ) ? oSettings.oClasses.sPageNextDisabled : oSettings.oClasses.sPageNextEnabled; } } } } $(document).ready( function () { $( '#example' ).dataTable( { "sPaginationType" : "scrolling" } ); } ); |