Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>The latest version is much more flexible than the original. So, if we start with this pager HTML (page size numbers reduced to match <a href="http://jsfiddle.net/Mottie/4mVfu/411/">this demo</a>; also notice the second pager block at the top only showing the visible and total record numbers)</p> <pre><code>&lt;div class="pager"&gt; &lt;span class="left"&gt; # per page: &lt;a href="#" class="current"&gt;5&lt;/a&gt; | &lt;a href="#"&gt;10&lt;/a&gt; | &lt;a href="#"&gt;20&lt;/a&gt; | &lt;a href="#"&gt;50&lt;/a&gt; &lt;/span&gt; &lt;span class="right"&gt; &lt;span class="prev"&gt; &lt;img src="http://mottie.github.com/tablesorter/addons/pager/icons/prev.png" /&gt; Prev&amp;nbsp; &lt;/span&gt; &lt;span class="pagecount"&gt;&lt;/span&gt; &amp;nbsp;&lt;span class="next"&gt;Next &lt;img src="http://mottie.github.com/tablesorter/addons/pager/icons/next.png" /&gt; &lt;/span&gt; &lt;/span&gt; </code></pre> <p>this css</p> <pre><code>.left { float: left; } .right { float: right; -webkit-user-select: none; -moz-user-select: none; -khtml-user-select: none; -ms-user-select: none; } .pager .prev, .pager .next, .pagecount { cursor: pointer; } .pager a { color: black; } .pager a.current { text-decoration: none; color: #0080ff; } </code></pre> <p>and this script</p> <pre><code>var $table = $('table') .on('pagerInitialized pagerComplete', function (e, c) { var i, pages = '', t = [], cur = c.page + 1, start = cur &gt; 1 ? (c.totalPages - cur &lt; 3 ? -3 + (c.totalPages - cur) : -1) : 0, end = cur &lt; 3 ? 5 - cur : 2; for (i = start; i &lt; end; i++) { if (cur + i &gt;= 1 &amp;&amp; cur + i &lt; c.totalPages) { t.push( cur + i ); } } // make sure first and last page are included in the pagination if ($.inArray(1, t) === -1) { t.push(1); } if ($.inArray(c.totalPages, t) === -1) { t.push(c.totalPages); } // sort the list t = t.sort(function(a, b){ return a - b; }); // make links and spacers $.each(t, function(j, v){ pages += '&lt;a href="#" class="' + (v === cur ? 'current' : '') + '"&gt;' + v + '&lt;/a&gt;'; pages += j &lt; t.length - 1 &amp;&amp; ( t[j+1] - 1 !== v ) ? ' ... ' : ( j &gt;= t.length - 1 ? '' : ' | ' ); }); $('.pagecount').html(pages); }) .tablesorter({ theme: 'blackice', widgets: ['zebra', 'columns'] }) .tablesorterPager({ // target the pager markup - see the HTML block below container: $(".pager"), size: 5, output: 'showing: {startRow} to {endRow} ({totalRows})' }); // set up pager controls $('.pager .left a').on('click', function () { $(this) .addClass('current') .siblings() .removeClass('current'); $table.trigger('pageSize', $(this).html()); return false; }); $('.pager .right .pagecount').on('click', 'a', function(){ $(this) .addClass('current') .siblings() .removeClass('current'); $table.trigger('pageSet', $(this).html()); return false; }); </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload