To implement client-side pagination with jQuery, you can follow these steps:
<div class="pagination">
<ul class="pagination-list">
<!-- Pagination links will be dynamically generated here -->
</ul>
</div>
function paginate(data, itemsPerPage, currentPage) {
// Calculate the total number of pages
var totalPages = Math.ceil(data.length / itemsPerPage);
// Determine the start and end index of the current page
var startIndex = (currentPage - 1) * itemsPerPage;
var endIndex = startIndex + itemsPerPage;
// Get the data for the current page
var currentPageData = data.slice(startIndex, endIndex);
// Update the UI with the current page data
// Clear the existing pagination links
$('.pagination-list').empty();
// Generate the new pagination links
for (var i = 1; i <= totalPages; i++) {
var listItem = $('<li></li>');
var link = $('<a></a>').attr('href', '#').text(i);
if (i === currentPage) {
link.addClass('active');
}
listItem.append(link);
$('.pagination-list').append(listItem);
}
// Update the UI with the current page data
// ...
}
paginate
function with the relevant parameters when needed. For example, if you have a button that triggers pagination, you can bind a click event to it and call the paginate
function with the updated current page:$('.pagination-list').on('click', 'a', function (event) {
event.preventDefault();
var currentPage = parseInt($(this).text());
// Call the paginate function with the relevant parameters
paginate(data, itemsPerPage, currentPage);
});
Remember to replace data
with your actual data array, and itemsPerPage
with the desired number of items per page.
Note: The implementation of updating the UI with the current page data will depend on the specific requirements of your project.