Created
May 8, 2013 05:38
-
-
Save apremalal/5538473 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> | |
<html> | |
<head> | |
<meta http-equiv="content-type" content="text/html; charset=utf-8" /> | |
<link rel="stylesheet" type="text/css" href="http://ajax.aspnetcdn.com/ajax/jquery.dataTables/1.9.0/css/jquery.dataTables.css"> | |
<link rel="stylesheet" type="text/css" href="http://ajax.aspnetcdn.com/ajax/jquery.dataTables/1.9.0/css/jquery.dataTables_themeroller.css"> | |
<title>DataTables example</title> | |
<script type="text/javascript" language="javascript" src="../../media/js/jquery.js"></script> | |
<script type="text/javascript" language="javascript" src="../../media/js/jquery.dataTables.js"></script> | |
<script type="text/javascript" charset="utf-8"> | |
$.extend($.fn.dataTableExt.oStdClasses, { | |
'sPageEllipsis': 'paginate_ellipsis', | |
'sPageNumber': 'paginate_number', | |
'sPageNumbers': 'paginate_numbers' | |
}); | |
$.fn.dataTableExt.oPagination.full_numbers = { | |
'oDefaults': { | |
'iShowPages': 5 | |
}, | |
'fnClickHandler': function(e) { | |
var fnCallbackDraw = e.data.fnCallbackDraw, | |
oSettings = e.data.oSettings, | |
sPage = e.data.sPage; | |
if ($(this).is('[disabled]')) { | |
return false; | |
} | |
oSettings.oApi._fnPageChange(oSettings, sPage); | |
fnCallbackDraw(oSettings); | |
return true; | |
}, | |
// fnInit is called once for each instance of pager | |
'fnInit': function(oSettings, nPager, fnCallbackDraw) { | |
var oClasses = oSettings.oClasses, | |
oLang = oSettings.oLanguage.oPaginate, | |
that = this; | |
var iShowPages = oSettings.oInit.iShowPages || this.oDefaults.iShowPages, | |
iShowPagesHalf = Math.floor(iShowPages / 2); | |
$.extend(oSettings, { | |
_iShowPages: iShowPages, | |
_iShowPagesHalf: iShowPagesHalf, | |
}); | |
var oNumbers = $('<span class="' + oClasses.sPageNumbers + '"></span>'); | |
// Draw | |
$(nPager).append(oNumbers); | |
}, | |
// fnUpdate is only called once while table is rendered | |
'fnUpdate': function(oSettings, fnCallbackDraw) { | |
var oClasses = oSettings.oClasses, | |
that = this; | |
// Update stateful properties | |
this.fnUpdateState(oSettings); | |
if (oSettings._iCurrentPage === 1) { | |
$('.' + oClasses.sPageFirst).attr('disabled', true); | |
$('.' + oClasses.sPagePrevious).attr('disabled', true); | |
} else { | |
$('.' + oClasses.sPageFirst).removeAttr('disabled'); | |
$('.' + oClasses.sPagePrevious).removeAttr('disabled'); | |
} | |
if (oSettings._iCurrentPage === oSettings._iTotalPages) { | |
$('.' + oClasses.sPageNext).attr('disabled', true); | |
$('.' + oClasses.sPageLast).attr('disabled', true); | |
} else { | |
$('.' + oClasses.sPageNext).removeAttr('disabled'); | |
$('.' + oClasses.sPageLast).removeAttr('disabled'); | |
} | |
var i, oNumber, oNumbers = $('.' + oClasses.sPageNumbers); | |
// Erase | |
oNumbers.html(''); | |
for (i = oSettings._iFirstPage; i <= oSettings._iLastPage; i++) { | |
oNumber = $('<a class="' + oClasses.sPageButton + '">' + oSettings.fnFormatNumber(i) + '</a>'); | |
if (oSettings._iCurrentPage === i) { | |
oNumber.attr('active', true).attr('disabled', true); | |
} else { | |
oNumber.click({ 'fnCallbackDraw': fnCallbackDraw, 'oSettings': oSettings, 'sPage': i - 1 }, that.fnClickHandler); | |
} | |
// Draw | |
oNumbers.append(oNumber); | |
} | |
// Add ellipses | |
if (1 < oSettings._iFirstPage) { | |
oNumbers.prepend('<span class="' + oClasses.sPageEllipsis + '">...</span>'); | |
} | |
if (oSettings._iLastPage < oSettings._iTotalPages) { | |
oNumbers.append('<span class="' + oClasses.sPageEllipsis + '">...</span>'); | |
} | |
}, | |
// fnUpdateState used to be part of fnUpdate | |
// The reason for moving is so we can access current state info before fnUpdate is called | |
'fnUpdateState': function(oSettings) { | |
var iCurrentPage = Math.ceil((oSettings._iDisplayStart + 1) / oSettings._iDisplayLength), | |
iTotalPages = Math.ceil(oSettings.fnRecordsTotal() / oSettings._iDisplayLength), | |
iFirstPage = iCurrentPage - oSettings._iShowPagesHalf, | |
iLastPage = iCurrentPage + oSettings._iShowPagesHalf; | |
if (iTotalPages < oSettings._iShowPages) { | |
iFirstPage = 1; | |
iLastPage = iTotalPages; | |
} else if (iFirstPage < 1) { | |
iFirstPage = 1; | |
iLastPage = oSettings._iShowPages; | |
} else if (iLastPage > iTotalPages) { | |
iFirstPage = (iTotalPages - oSettings._iShowPages) + 1; | |
iLastPage = iTotalPages; | |
} | |
$.extend(oSettings, { | |
_iCurrentPage: iCurrentPage, | |
_iTotalPages: iTotalPages, | |
_iFirstPage: iFirstPage, | |
_iLastPage: iLastPage | |
}); | |
} | |
}; | |
$(document).ready(function() { | |
$('#example').dataTable( { | |
// Optional usage of extended oSettings object | |
'fnInfoCallback': function(oSettings) { | |
// Update stateful properties | |
$.fn.dataTableExt.oPagination.full_numbers.fnUpdateState(oSettings); | |
return 'Viewing page ' + oSettings._iCurrentPage + ' of ' + oSettings._iTotalPages; | |
}, | |
// Optional usage of iShowPages option | |
'iShowPages': 15, | |
// This is the only required option | |
'sPaginationType': 'full_numbers' | |
} ); | |
} ); | |
</script> | |
</head> | |
<body id="dt_example"> | |
<div id="container"> | |
<div class="full_width big"> | |
DataTables custom pagination plug-in example | |
</div> | |
<h1>Preamble</h1> | |
<p>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.</p> | |
<h1>Live example</h1> | |
<div id="demo"> | |
<table cellpadding="0" cellspacing="0" border="0" class="display" id="example"> | |
<thead> | |
<tr> | |
<th>Rendering engine</th> | |
<th>Browser</th> | |
<th>Platform(s)</th> | |
<th>Engine version</th> | |
<th>CSS grade</th> | |
</tr> | |
</thead> | |
<tbody> | |
<tr class="gradeX"> | |
<td>Trident</td> | |
<td>Internet | |
Explorer 4.0</td> | |
<td>Win 95+</td> | |
<td class="center">4</td> | |
<td class="center">X</td> | |
</tr> | |
<tr class="gradeC"> | |
<td>Trident</td> | |
<td>Internet | |
Explorer 5.0</td> | |
<td>Win 95+</td> | |
<td class="center">5</td> | |
<td class="center">C</td> | |
</tr> | |
<tr class="gradeA"> | |
<td>Trident</td> | |
<td>Internet | |
Explorer 5.5</td> | |
<td>Win 95+</td> | |
<td class="center">5.5</td> | |
<td class="center">A</td> | |
</tr> | |
<tr class="gradeA"> | |
<td>Trident</td> | |
<td>Internet | |
Explorer 6</td> | |
<td>Win 98+</td> | |
<td class="center">6</td> | |
<td class="center">A</td> | |
</tr> | |
<tr class="gradeA"> | |
<td>Trident</td> | |
<td>Internet Explorer 7</td> | |
<td>Win XP SP2+</td> | |
<td class="center">7</td> | |
<td class="center">A</td> | |
</tr> | |
<tr class="gradeA"> | |
<td>Trident</td> | |
<td>AOL browser (AOL desktop)</td> | |
<td>Win XP</td> | |
<td class="center">6</td> | |
<td class="center">A</td> | |
</tr> | |
<tr class="gradeA"> | |
<td>Gecko</td> | |
<td>Firefox 1.0</td> | |
<td>Win 98+ / OSX.2+</td> | |
<td class="center">1.7</td> | |
<td class="center">A</td> | |
</tr> | |
<tr class="gradeA"> | |
<td>Gecko</td> | |
<td>Firefox 1.5</td> | |
<td>Win 98+ / OSX.2+</td> | |
<td class="center">1.8</td> | |
<td class="center">A</td> | |
</tr> | |
<tr class="gradeA"> | |
<td>Gecko</td> | |
<td>Firefox 2.0</td> | |
<td>Win 98+ / OSX.2+</td> | |
<td class="center">1.8</td> | |
<td class="center">A</td> | |
</tr> | |
<tr class="gradeA"> | |
<td>Gecko</td> | |
<td>Firefox 3.0</td> | |
<td>Win 2k+ / OSX.3+</td> | |
<td class="center">1.9</td> | |
<td class="center">A</td> | |
</tr> | |
<tr class="gradeA"> | |
<td>Gecko</td> | |
<td>Camino 1.0</td> | |
<td>OSX.2+</td> | |
<td class="center">1.8</td> | |
<td class="center">A</td> | |
</tr> | |
<tr class="gradeA"> | |
<td>Gecko</td> | |
<td>Camino 1.5</td> | |
<td>OSX.3+</td> | |
<td class="center">1.8</td> | |
<td class="center">A</td> | |
</tr> | |
<tr class="gradeA"> | |
<td>Gecko</td> | |
<td>Netscape 7.2</td> | |
<td>Win 95+ / Mac OS 8.6-9.2</td> | |
<td class="center">1.7</td> | |
<td class="center">A</td> | |
</tr> | |
<tr class="gradeA"> | |
<td>Gecko</td> | |
<td>Netscape Browser 8</td> | |
<td>Win 98SE+</td> | |
<td class="center">1.7</td> | |
<td class="center">A</td> | |
</tr> | |
<tr class="gradeA"> | |
<td>Gecko</td> | |
<td>Netscape Navigator 9</td> | |
<td>Win 98+ / OSX.2+</td> | |
<td class="center">1.8</td> | |
<td class="center">A</td> | |
</tr> | |
<tr class="gradeA"> | |
<td>Gecko</td> | |
<td>Mozilla 1.0</td> | |
<td>Win 95+ / OSX.1+</td> | |
<td class="center">1</td> | |
<td class="center">A</td> | |
</tr> | |
<tr class="gradeA"> | |
<td>Gecko</td> | |
<td>Mozilla 1.1</td> | |
<td>Win 95+ / OSX.1+</td> | |
<td class="center">1.1</td> | |
<td class="center">A</td> | |
</tr> | |
<tr class="gradeA"> | |
<td>Gecko</td> | |
<td>Mozilla 1.2</td> | |
<td>Win 95+ / OSX.1+</td> | |
<td class="center">1.2</td> | |
<td class="center">A</td> | |
</tr> | |
<tr class="gradeA"> | |
<td>Gecko</td> | |
<td>Mozilla 1.3</td> | |
<td>Win 95+ / OSX.1+</td> | |
<td class="center">1.3</td> | |
<td class="center">A</td> | |
</tr> | |
<tr class="gradeA"> | |
<td>Gecko</td> | |
<td>Mozilla 1.4</td> | |
<td>Win 95+ / OSX.1+</td> | |
<td class="center">1.4</td> | |
<td class="center">A</td> | |
</tr> | |
<tr class="gradeA"> | |
<td>Gecko</td> | |
<td>Mozilla 1.5</td> | |
<td>Win 95+ / OSX.1+</td> | |
<td class="center">1.5</td> | |
<td class="center">A</td> | |
</tr> | |
<tr class="gradeA"> | |
<td>Gecko</td> | |
<td>Mozilla 1.6</td> | |
<td>Win 95+ / OSX.1+</td> | |
<td class="center">1.6</td> | |
<td class="center">A</td> | |
</tr> | |
<tr class="gradeA"> | |
<td>Gecko</td> | |
<td>Mozilla 1.7</td> | |
<td>Win 98+ / OSX.1+</td> | |
<td class="center">1.7</td> | |
<td class="center">A</td> | |
</tr> | |
<tr class="gradeA"> | |
<td>Gecko</td> | |
<td>Mozilla 1.8</td> | |
<td>Win 98+ / OSX.1+</td> | |
<td class="center">1.8</td> | |
<td class="center">A</td> | |
</tr> | |
<tr class="gradeA"> | |
<td>Gecko</td> | |
<td>Seamonkey 1.1</td> | |
<td>Win 98+ / OSX.2+</td> | |
<td class="center">1.8</td> | |
<td class="center">A</td> | |
</tr> | |
<tr class="gradeA"> | |
<td>Gecko</td> | |
<td>Epiphany 2.20</td> | |
<td>Gnome</td> | |
<td class="center">1.8</td> | |
<td class="center">A</td> | |
</tr> | |
<tr class="gradeA"> | |
<td>Webkit</td> | |
<td>Safari 1.2</td> | |
<td>OSX.3</td> | |
<td class="center">125.5</td> | |
<td class="center">A</td> | |
</tr> | |
<tr class="gradeA"> | |
<td>Webkit</td> | |
<td>Safari 1.3</td> | |
<td>OSX.3</td> | |
<td class="center">312.8</td> | |
<td class="center">A</td> | |
</tr> | |
<tr class="gradeA"> | |
<td>Webkit</td> | |
<td>Safari 2.0</td> | |
<td>OSX.4+</td> | |
<td class="center">419.3</td> | |
<td class="center">A</td> | |
</tr> | |
<tr class="gradeA"> | |
<td>Webkit</td> | |
<td>Safari 3.0</td> | |
<td>OSX.4+</td> | |
<td class="center">522.1</td> | |
<td class="center">A</td> | |
</tr> | |
<tr class="gradeA"> | |
<td>Webkit</td> | |
<td>OmniWeb 5.5</td> | |
<td>OSX.4+</td> | |
<td class="center">420</td> | |
<td class="center">A</td> | |
</tr> | |
<tr class="gradeA"> | |
<td>Webkit</td> | |
<td>iPod Touch / iPhone</td> | |
<td>iPod</td> | |
<td class="center">420.1</td> | |
<td class="center">A</td> | |
</tr> | |
<tr class="gradeA"> | |
<td>Webkit</td> | |
<td>S60</td> | |
<td>S60</td> | |
<td class="center">413</td> | |
<td class="center">A</td> | |
</tr> | |
<tr class="gradeA"> | |
<td>Presto</td> | |
<td>Opera 7.0</td> | |
<td>Win 95+ / OSX.1+</td> | |
<td class="center">-</td> | |
<td class="center">A</td> | |
</tr> | |
<tr class="gradeA"> | |
<td>Presto</td> | |
<td>Opera 7.5</td> | |
<td>Win 95+ / OSX.2+</td> | |
<td class="center">-</td> | |
<td class="center">A</td> | |
</tr> | |
<tr class="gradeA"> | |
<td>Presto</td> | |
<td>Opera 8.0</td> | |
<td>Win 95+ / OSX.2+</td> | |
<td class="center">-</td> | |
<td class="center">A</td> | |
</tr> | |
<tr class="gradeA"> | |
<td>Presto</td> | |
<td>Opera 8.5</td> | |
<td>Win 95+ / OSX.2+</td> | |
<td class="center">-</td> | |
<td class="center">A</td> | |
</tr> | |
<tr class="gradeA"> | |
<td>Presto</td> | |
<td>Opera 9.0</td> | |
<td>Win 95+ / OSX.3+</td> | |
<td class="center">-</td> | |
<td class="center">A</td> | |
</tr> | |
<tr class="gradeA"> | |
<td>Presto</td> | |
<td>Opera 9.2</td> | |
<td>Win 88+ / OSX.3+</td> | |
<td class="center">-</td> | |
<td class="center">A</td> | |
</tr> | |
<tr class="gradeA"> | |
<td>Presto</td> | |
<td>Opera 9.5</td> | |
<td>Win 88+ / OSX.3+</td> | |
<td class="center">-</td> | |
<td class="center">A</td> | |
</tr> | |
<tr class="gradeA"> | |
<td>Presto</td> | |
<td>Opera for Wii</td> | |
<td>Wii</td> | |
<td class="center">-</td> | |
<td class="center">A</td> | |
</tr> | |
<tr class="gradeA"> | |
<td>Presto</td> | |
<td>Nokia N800</td> | |
<td>N800</td> | |
<td class="center">-</td> | |
<td class="center">A</td> | |
</tr> | |
<tr class="gradeA"> | |
<td>Presto</td> | |
<td>Nintendo DS browser</td> | |
<td>Nintendo DS</td> | |
<td class="center">8.5</td> | |
<td class="center">C/A<sup>1</sup></td> | |
</tr> | |
<tr class="gradeC"> | |
<td>KHTML</td> | |
<td>Konqureror 3.1</td> | |
<td>KDE 3.1</td> | |
<td class="center">3.1</td> | |
<td class="center">C</td> | |
</tr> | |
<tr class="gradeA"> | |
<td>KHTML</td> | |
<td>Konqureror 3.3</td> | |
<td>KDE 3.3</td> | |
<td class="center">3.3</td> | |
<td class="center">A</td> | |
</tr> | |
<tr class="gradeA"> | |
<td>KHTML</td> | |
<td>Konqureror 3.5</td> | |
<td>KDE 3.5</td> | |
<td class="center">3.5</td> | |
<td class="center">A</td> | |
</tr> | |
<tr class="gradeX"> | |
<td>Tasman</td> | |
<td>Internet Explorer 4.5</td> | |
<td>Mac OS 8-9</td> | |
<td class="center">-</td> | |
<td class="center">X</td> | |
</tr> | |
<tr class="gradeC"> | |
<td>Tasman</td> | |
<td>Internet Explorer 5.1</td> | |
<td>Mac OS 7.6-9</td> | |
<td class="center">1</td> | |
<td class="center">C</td> | |
</tr> | |
<tr class="gradeC"> | |
<td>Tasman</td> | |
<td>Internet Explorer 5.2</td> | |
<td>Mac OS 8-X</td> | |
<td class="center">1</td> | |
<td class="center">C</td> | |
</tr> | |
<tr class="gradeA"> | |
<td>Misc</td> | |
<td>NetFront 3.1</td> | |
<td>Embedded devices</td> | |
<td class="center">-</td> | |
<td class="center">C</td> | |
</tr> | |
<tr class="gradeA"> | |
<td>Misc</td> | |
<td>NetFront 3.4</td> | |
<td>Embedded devices</td> | |
<td class="center">-</td> | |
<td class="center">A</td> | |
</tr> | |
<tr class="gradeX"> | |
<td>Misc</td> | |
<td>Dillo 0.8</td> | |
<td>Embedded devices</td> | |
<td class="center">-</td> | |
<td class="center">X</td> | |
</tr> | |
<tr class="gradeX"> | |
<td>Misc</td> | |
<td>Links</td> | |
<td>Text only</td> | |
<td class="center">-</td> | |
<td class="center">X</td> | |
</tr> | |
<tr class="gradeX"> | |
<td>Misc</td> | |
<td>Lynx</td> | |
<td>Text only</td> | |
<td class="center">-</td> | |
<td class="center">X</td> | |
</tr> | |
<tr class="gradeC"> | |
<td>Misc</td> | |
<td>IE Mobile</td> | |
<td>Windows Mobile 6</td> | |
<td class="center">-</td> | |
<td class="center">C</td> | |
</tr> | |
<tr class="gradeC"> | |
<td>Misc</td> | |
<td>PSP browser</td> | |
<td>PSP</td> | |
<td class="center">-</td> | |
<td class="center">C</td> | |
</tr> | |
<tr class="gradeU"> | |
<td>Other browsers</td> | |
<td>All others</td> | |
<td>-</td> | |
<td class="center">-</td> | |
<td class="center">U</td> | |
</tr> | |
</tbody> | |
<tfoot> | |
<tr> | |
<th>Rendering engine</th> | |
<th>Browser</th> | |
<th>Platform(s)</th> | |
<th>Engine version</th> | |
<th>CSS grade</th> | |
</tr> | |
</tfoot> | |
</table> | |
</div> | |
<div class="spacer"></div> | |
</div> | |
</body> | |
</html> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
This is a customized example of datatables Ellipses pagination plugin.There are lot of unwanted content that you can remove from the code.Enjoy!