Phân trang js css

Mẫu sách dạy nấu ăn này thể hiện mẫu điều hướng được sử dụng để hiển thị phân trang, nơi người dùng có thể di chuyển giữa các trang nội dung, chẳng hạn như kết quả tìm kiếm

Yêu cầu

Mẫu phân trang thường hiển thị các mục trong một hàng. Để đảm bảo rằng việc phân trang có thể hiểu được đối với những người sử dụng trình đọc màn hình, chúng tôi đánh dấu các mục dưới dạng danh sách bên trong phần tử , sau đó sử dụng CSS để hiển thị trực quan bố cục dưới dạng một hàng

Thông thường, thành phần phân trang sẽ được căn giữa theo chiều ngang bên dưới nội dung

Công thức

Tải xuống ví dụ này

Lựa chọn thực hiện

Mẫu này được bố trí bằng cách sử dụng flexbox - một hộp chứa flex được lồng vào bên trong một hộp chứa khác. Phần tử được chỉ định là một hộp chứa linh hoạt để chúng ta có thể căn giữa danh sách bên trong bằng cách sử dụng thuộc tính justify-content

Bản thân danh sách cũng trở thành một thùng chứa linh hoạt để sắp xếp các mục thành một hàng. Để tạo khoảng trống cho các mục, chúng tôi sẽ sử dụng margin trên các mục linh hoạt

Các phương thức thay thế

Sau khi thuộc tính column-gap được triển khai trong trình duyệt, thuộc tính này có thể được sử dụng thay cho lề để loại bỏ các mục

.pagination {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  column-gap: 2px;
}

Mối quan tâm về khả năng tiếp cận

Chúng tôi muốn đảm bảo rằng một người sử dụng trình đọc màn hình hiểu điều hướng này làm gì và họ sẽ đi đâu khi nhấp vào liên kết. Để giải quyết vấn đề này, chúng tôi đã thêm

//function for creating page list
function prepareList[] {
for [count = 0; count < 100; count++]
//add iteration elements to an array
createPages= getPageNumber[];//user defined function
}
//function per creating pages
function preparePages[] {
var start= [[presentPage - 1] * countPerEachPage];
var end = start+ countPerEachPage;
listPage= list.slice[start, end];
//call some user defined methods to pagination functionality
}
0 vào phần tử

Chúng tôi cũng đã thêm một số nội dung bổ sung mà trình đọc màn hình có thể đọc được nhưng bị ẩn trực quan và đặt thuộc tính

//function for creating page list
function prepareList[] {
for [count = 0; count < 100; count++]
//add iteration elements to an array
createPages= getPageNumber[];//user defined function
}
//function per creating pages
function preparePages[] {
var start= [[presentPage - 1] * countPerEachPage];
var end = start+ countPerEachPage;
listPage= list.slice[start, end];
//call some user defined methods to pagination functionality
}
2 trên mũi tên phân trang

Khái niệm Phân trang JavaScript được áp dụng để di chuyển giữa các trang bằng các nút hoặc liên kết Đầu tiên, Tiếp theo, Trước và Cuối cùng. Phương châm chính của phân trang là di chuyển giữa các nội dung ngay lập tức bằng cách nhấp vào liên kết hoặc nút. Phân trang có nhiều liên kết hoặc nút được cung cấp để truy cập nội dung Đầu tiên, Tiếp theo, Trước đó và Cuối cùng. Tạo các nút Đầu tiên, Tiếp theo, Trước đó và Cuối cùng trong JavaScript, chúng tôi đã sử dụng các hàm JavaScript khác nhau

Gói phát triển phần mềm tất cả trong một[hơn 600 khóa học, hơn 50 dự án]

Giá
Xem khóa học

600+ Khóa học trực tuyến. hơn 50 dự án. Hơn 3000 giờ. Giấy chứng nhận có thể kiểm chứng. Truy cập Trọn đời
4. 6 [83.403 xếp hạng]

Máy nhắn tin Bootstrap là gì?

Khái niệm phân trang, được sử dụng để truy cập nội dung bằng cách sử dụng Đầu tiên, Tiếp theo, Trước đó và Cuối cùng hoặc nhiều liên kết hoặc nút dựa trên yêu cầu của khách hàng để truy cập nội dung một cách suôn sẻ

Bắt đầu khóa học phát triển phần mềm miễn phí của bạn

Phát triển web, ngôn ngữ lập trình, kiểm thử phần mềm và những thứ khác

Tại sao chúng tôi sử dụng phân trang JavaScript?

Kịch bản thời gian thực. Hãy lấy trang web amazon hoặc trang web Flipkart để hiển thị các sản phẩm có sẵn trong cơ sở dữ liệu của họ. Giả sử họ có 1 triệu sản phẩm với họ. Nếu họ đang cố gắng hiển thị tất cả các mặt hàng cùng một lúc, khách hàng phải đợi thêm thời gian như một ngày để xem tất cả các danh sách sản phẩm

Làm thế nào chúng ta nên giải quyết tình huống này?

Thay vì hiển thị tất cả các mục cùng một lúc, chúng tôi có thể hiển thị chúng từ 50 đến 100 mục cùng một lúc bằng cách sử dụng danh sách các nút liên kết. Nếu khách hàng không hài lòng với 50 đến 100 sản phẩm đầu tiên thì sẽ chuyển sang 50 đến 100 sản phẩm tiếp theo, cứ thế tiếp tục. Khái niệm này được gọi là phân trang

Cú pháp phân trang

//function for creating page list
function prepareList[] {
for [count = 0; count < 100; count++]
//add iteration elements to an array
createPages= getPageNumber[];//user defined function
}
//function per creating pages
function preparePages[] {
var start= [[presentPage - 1] * countPerEachPage];
var end = start+ countPerEachPage;
listPage= list.slice[start, end];
//call some user defined methods to pagination functionality
}

Ví dụ về phân trang trong Javascript

Dưới đây là các ví dụ sau được đề cập dưới đây

Ví dụ #1 – Phân trang bằng số

Mã số





Pagination






body
{
font-size: 30px;
background: brown;
}
h2
{
color: lime;
}
h3
{
color: olive;
}



//creating an array for adding numbers in a page
var countList = new Array[];
//creating an array for adding number of pagess
var addPageList = new Array[];
var presentPage = 1;
var countPerEachPage = 10;
var countOfPages = 0;
//function for adding how many numbers in total
function prepareList[] {
for [count = 0;counti< 100; count++]
countList.push[count];
countOfPages = getCountOfPages[];
}
//function for creating how many how many number per each page
function getCountOfPages[] {
return Math.ceil[countList.length / countPerEachPage];
}
//function for moving to next page
function getNextPage[] {
presentPage += 1;
loadMyPaginationList[];
}
//function for moving previous page
function getPreviousPage[] {
presentPage -= 1;
loadMyPaginationList[];
}
//function for moving to first page
function getFirstPage[] {
presentPage = 1;
loadMyPaginationList[];
}
//function for moving last page
function getLastPage[] {
presentPage = countOfPages;
loadMyPaginationList[];
}
//function for creating how to move between the pages
function loadMyPaginationList[] {
var start = [[presentPage - 1] * countPerEachPage];
var end = start + countPerEachPage;
addPageList = countList.slice[start, end];
createPageList[];
validatePageCount[];
}
//function for adding numbers to each page
function createPageList[] {
document.getElementById["countList"].innerHTML = "";
for [p = 0; p< addPageList.length; p++] {
document.getElementById["countList"].innerHTML = document.getElementById["countList"].innerHTML+ addPageList[p] + "
"; } } //function for validating real time condition like if move to last page, last page disabled etc function validatePageCount[] { document.getElementById["next"].disabled = presentPage == countOfPages ? true : false; document.getElementById["previous"].disabled = presentPage == 1 ? true : false; document.getElementById["first"].disabled = presentPage == 1 ? true : false; document.getElementById["last"].disabled = presentPage == countOfPages ? true : false; } //function for loading pagination functionality function loadMyPagination[] { prepareList[]; loadMyPaginationList[]; } window.onload = loadMyPagination;

Pagination Example

Each Page has 10 numbers

đầu ra

Ví dụ #2 – Phân trang bằng Chuỗi

Mã số





Pagination






body {
font-size: 30px;
background: brown;
}
h2 {
color: lime;
text-align: center;
}
h3 {
color: olive;
text-align: center;
}
.a {
text-align: center;
color: white;
}



var currentPage = 1;
var CountPerEachPage = 2;
//json object mapping for content
var paginationObject = [
{
content : "Hi,"
},
{
content : "Hello...."
},
{
content : "I"
},
{
content : "Amardeep."
},
{
content : "My"
},
{
content : "Best"
},
{
content : "Friend"
},
{
content : "is"
},
{
content : "Paramesh"
},
{
content : "Nathi"
},
{
content : ".........."
},];
//function for go to previous page
function getPereviousPage[] {
if [currentPage > 1] {
currentPage--;
validateEachPage[currentPage];
}
}
//function for go to next page
function getNextPage[] {
if [currentPage  numberOfPages[]]
paginationPage = numberOfPages[];
showMyTable.innerHTML = "";
for [var i = [paginationPage - 1] * CountPerEachPage; i < [paginationPage * CountPerEachPage]; i++] {
showMyTable.innerHTML += paginationObject[i].content + "
"; } paginationPage_span.innerHTML = paginationPage; if [paginationPage == 1] { previousPage.style.visibility = "hidden"; } else { previousPage.style.visibility = "visible"; } if [paginationPage == numberOfPages[]] { nextPage.style.visibility = "hidden"; } else { nextPage.style.visibility = "visible"; } } //function per number of Pages function numberOfPages[] { return Math.ceil[paginationObject.length / CountPerEachPage]; } //loading al JavaScript functions functionality window.onload = function[] { validateEachPage[1]; };

Pagination Introduction Content

Content for Pagination in each Page

Previous Page Next Page Page Number:

đầu ra

Sau khi nhấp vào nút Trang tiếp theo

Ví dụ #3 – Phân trang không có thư viện CSS mặc định

Mã số





Pagination

html {
height: 100%;
width: 100%;
background-color: #D7D7D7;
background-image: -webkit-radial-gradient[contain, #F2F2F2, #D1D1D1];
background-image: -moz-radial-gradient[contain, #F2F2F2, #D1D1D1];
background-image: -ms-radial-gradient[contain, #F2F2F2, #D1D1D1];
background-image: -o-radial-gradient[contain, #F2F2F2, #D1D1D1];
background-image: radial-gradient[contain, #F2F2F2, #D1D1D1];
}
body {
margin: 0;
height: 100%;
width: 100%;
text-align: center;
font-family: Arial, sans-serif;
}
body:before {
content: '';
display: inline-block;
width: 0;
height: 100%;
vertical-align: middle;
}
#paginationID {
display: inline-block;
vertical-align: middle;
border-radius: 4px;
padding: 1px 2px 4px 2px;
border-top: 1px solid #AEAEAE;
border-bottom: 1px solid #FFFFFF;
background-color: #DADADA;
background-image: -webkit-linear-gradient[top, #DBDBDB, #E2E2E2];
background-image: -moz-linear-gradient[top, #DBDBDB, #E2E2E2];
background-image: -ms-linear-gradient[top, #DBDBDB, #E2E2E2];
background-image: -o-linear-gradient[top, #DBDBDB, #E2E2E2];
background-image: linear-gradient[top, #DBDBDB, #E2E2E2];
}
#paginationID a, #paginationID i {
display: inline-block;
vertical-align: middle;
width: 22px;
color: #7D7D7D;
text-align: center;
font-size: 10px;
padding: 3px 0 2px 0;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
-o-user-select: none;
user-select: none;
}
#paginationID a {
margin: 0 2px 0 2px;
border-radius: 4px;
border: 1px solid #E3E3E3;
cursor: pointer;
box-shadow: inset 0 1px 0 0 #FFF, 0 1px 2px #666;
text-shadow: 0 1px 1px #FFF;
background-color: #E6E6E6;
background-image: -webkit-linear-gradient[top, #F3F3F3, #D7D7D7];
background-image: -moz-linear-gradient[top, #F3F3F3, #D7D7D7];
background-image: -ms-linear-gradient[top, #F3F3F3, #D7D7D7];
background-image: -o-linear-gradient[top, #F3F3F3, #D7D7D7];
background-image: linear-gradient[top, #F3F3F3, #D7D7D7];
}
#paginationID i {
margin: 0 3px 0 3px;
}
#paginationID a.current {
border: 1px solid #E9E9E9;
box-shadow: 0 1px 1px #999;
background-color: #DFDFDF;
background-image: -webkit-linear-gradient[top, #D0D0D0, #EBEBEB];
background-image: -moz-linear-gradient[top, #D0D0D0, #EBEBEB];
background-image: -ms-linear-gradient[top, #D0D0D0, #EBEBEB];
background-image: -o-linear-gradient[top, #D0D0D0, #EBEBEB];
background-image: linear-gradient[top, #D0D0D0, #EBEBEB];
}


var pagePagination = {
code : '',
Extend : function[data] {
data = data || {};
pagePagination.size = data.size || 300;
pagePagination.page = data.page || 1;
pagePagination.step = data.step || 3;
},
Add : function[p, q] {
for [var l =p;l < q; l++] {
pagePagination.code += '' + l + '';
}
},
Last : function[] {
pagePagination.code += '...' + pagePagination.size + '';
},
First : function[] {
pagePagination.code += '1...';
},
Click : function[] {
pagePagination.page = +this.innerHTML;
pagePagination.Start[];
},
Prev : function[] {
pagePagination.page--;
if [pagePagination.page < 1] {
pagePagination.page = 1;
}
pagePagination.Start[];
},
Next : function[] {
pagePagination.page++;
if [pagePagination.page > pagePagination.size] {
pagePagination.page = pagePagination.size;
}
pagePagination.Start[];
},
Bind : function[] {
var a = pagePagination.e.getElementsByTagName['a'];
for [var num = 0; num  0. 

Nút phân trang là gì?

Một giải pháp thay thế là phân trang, cơ chế cung cấp cho người dùng các tùy chọn điều hướng bổ sung để duyệt qua các phần riêng lẻ của bài viết nhất định . Các phần của bài viết thường được gọi bằng các con số, gợi ý, mũi tên cũng như các nút "trước" và "tiếp theo".

Chủ Đề