Вы можете использовать селектор :visible
, чтобы получить элементы, отображаемые на текущей странице.Используйте класс .active
в дополнение к селектору атрибутов hte [rel]
, чтобы получить предыдущую / следующую ссылку на пейджинг, а затем активируйте его обработчик кликов, используя trigger("click")
.
$(document).ready(function() {
$('#data').after('<div id="nav"></div>');
var rowsShown = 4;
var rowsTotal = $('#data tbody tr').length;
var numPages = rowsTotal / rowsShown;
var currPage = 0;
for (i = 0; i < numPages; i++) {
var pageNum = i + 1;
$('#nav').append('<a href="#" rel="' + i + '">' + pageNum + '</a> ');
}
$('#data tbody tr').hide();
$('#data tbody tr').slice(0, rowsShown).show();
$('#nav').after('<div id="stats">Displaying ' + $('#data tbody tr:visible').length + ' of ' + rowsTotal + ' items</div>');
$('#nav a:first').addClass('active');
$('#nav a').on('click', function() {
$('#nav a').removeClass('active');
$(this).addClass('active');
currPage = $(this).attr('rel');
var startItem = currPage * rowsShown;
var endItem = startItem + rowsShown;
$('#data tbody tr').css('opacity', '0.0').hide().slice(startItem, endItem).
css('display', 'table-row').animate({
opacity: 1
}, 300);
$('#stats').text('Displaying ' + $('#data tbody tr:visible').length + ' of ' + rowsTotal + ' items');
});
$('<a href="#"><</a> ').prependTo('#nav').on('click', function() {
$('#nav a[rel].active').prev('a[rel]').trigger('click');
});
$('<a href="#">></a>').appendTo('#nav').on('click', function() {
$('#nav a[rel].active').next('a[rel]').trigger('click');
});
});
.active {
font-weight: bold;
}
#nav a {
display: inline-block;
float: left;
padding: 5px;
}
#nav {
overflow: auto;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table id="data">
<tr>
<td>Row 1</td>
</tr>
<tr>
<td>Row 2</td>
</tr>
<tr>
<td>Row 3 </td>
</tr>
<tr>
<td>Row 4</td>
</tr>
<tr>
<td>Row 5</td>
</tr>
<tr>
<td>Row 6</td>
</tr>
<tr>
<td>Row 7</td>
</tr>
<tr>
<td>Row 8</td>
</tr>
<tr>
<td>Row 9</td>
</tr>
<tr>
<td>Row 10</td>
</tr>
<tr>
<td>Row 11</td>
</tr>
<tr>
<td>Row 12</td>
</tr>
<tr>
<td>Row 13</td>
</tr>
<tr>
<td>Row 14</td>
</tr>
<tr>
<td>Row 15</td>
</tr>
<tr>
<td>Row 16</td>
</tr>
<tr>
<td>Row 17</td>
</tr>
<tr>
<td>Row 18</td>
</tr>
<tr>
<td>Row 19</td>
</tr>
<tr>
<td>Row 20</td>
</tr>
<tr>
<td>Row 21</td>
</tr>
<tr>
<td>Row 22</td>
</tr>
<tr>
<td>Row 23</td>
</tr>
<tr>
<td>Row 24</td>
</tr>
<tr>
<td>Row 25</td>
</tr>
</table>