У меня есть эта работающая страница, но я хотел бы добавить ellipsis в странице на основе следующей логики (если MaxPages = 3 и общее количество страниц равно, например, 36):
[1, 2, 3, '...', 36] // 1-3 is the current page
[1, '...', 10, 11, 12, '...', 36] // 10-12 is the current page
[1, '...', 34, 35, 36] // 34-36 is the current page
< /code>
Как я могу изменить массив < /code>, чтобы вточить в него эллипсис?const wrapper = document.querySelector(".wrapper");
const pagination = document.querySelector(".pagination-nav");
const items = Array.from(document.querySelectorAll(".item"));
let filteredItems = items;
let currPage = 1;
/**
*
* @param {int} totalItems Total number of items to paginate
* @param {int} currentPage Current page
* @param {int} pageSize Number of items per page
* @param {int} maxPages Max number of pages to display at the time
* @returns array of pages
*/
function paginate(totalItems, currentPage = 1, pageSize = 2, maxPages = 3) {
let totalPages = Math.ceil(totalItems / pageSize);
if (currentPage < 1) {
currentPage = 1;
} else if (currentPage > totalPages) {
currentPage = totalPages;
}
let startPage, endPage;
if (totalPages startPage + i);
console.log(totalItems, currentPage, pageSize, totalPages, startPage, endPage, startIndex, endIndex, pages);
return {
totalItems: totalItems,
currentPage: currentPage,
pageSize: pageSize,
totalPages: totalPages,
startPage: startPage,
endPage: endPage,
startIndex: startIndex,
endIndex: endIndex,
pages: pages
};
}
function setHTML(items) {
wrapper.innerHTML = ""
pagination.innerHTML = ""
const { totalItems, currentPage, pageSize, totalPages, startPage, endPage, startIndex, endIndex, pages } = paginate(items.length, currPage, 4, 3);
const ul = document.createElement("ul");
ul.classList.add('pagination');
let paginationHTML = "";
paginationHTML += `[*][url=#]Previous[/url]`
pages.forEach(page => {
if (currentPage === page) {
paginationHTML += `[*][url=#]${page}[/url]`;
} else {
paginationHTML += `[*][url=#]${page}[/url]`;
}
})
paginationHTML += `[*][url=#]Next[/url]`
ul.innerHTML = paginationHTML;
pagination.append(ul);
const start = (currentPage - 1) * pageSize, end = currentPage * pageSize;
items.slice(start, end).forEach(el => {
wrapper.append(el)
})
}
document.addEventListener('click', function (e) {
const $this = e.target;
if ($this.parentNode.classList.contains("page")) {
currPage = parseInt($this.parentNode.getAttribute("data-page"));
setHTML(filteredItems);
}
if ($this.parentNode.classList.contains("page-next")) {
currPage += 1;
setHTML(filteredItems);
}
if ($this.parentNode.classList.contains("page-prev")) {
currPage -= 1;
setHTML(filteredItems);
}
});
setHTML(filteredItems);< /code>
.pagination {
display: flex;
padding-left: 0;
list-style: none;
}
.page-link {
display: block;
padding: .375rem .75rem;
}
.active > .page-link {
background-color: blue;
color: #fff;
}< /code>
What is Lorem Ipsum?
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the
industry's standard dummy text ever since the 1500s.
Why do we use it?
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the
industry's standard dummy text ever since the 1500s.
Nam porta tempus elit
imperdiet dolor, sed convallis lacus sollicitudin at. Integer tempor elementum dolor a fermentum. Sed
erat
lorem, tempus mollis mi tincidunt, laoreet faucibus ex.
Pellentesque a tincidunt metus
Magna adipisicing labore aute dolore. Officia tempor reprehenderit ad id sunt nisi pariatur. Minim
ullamco
aliqua et velit esse veniam.
Tempor irure laboris veniam
Ut ad eiusmod adipisicing enim culpa mollit. Do ad adipisicing dolor incididunt dolor ad amet cupidatat.
Nisi
minim veniam cillum eu fugiat exercitation ut quis. Mollit velit adipisicing elit qui. Eu in esse elit
culpa.
Pellentesque a tincidunt metus
Magna adipisicing labore aute dolore. Officia tempor reprehenderit ad id sunt nisi pariatur. Minim
ullamco
aliqua et velit esse veniam.
Tempor irure laboris veniam
Ut ad eiusmod adipisicing enim culpa mollit. Do ad adipisicing dolor incididunt dolor ad amet cupidatat.
Nisi
minim veniam cillum eu fugiat exercitation ut quis. Mollit velit adipisicing elit qui. Eu in esse elit
culpa.
Nostrud id commodo excepteur est
Dolore incididunt tempor consectetur deserunt proident id minim exercitation consectetur. Ipsum enim eu
sit
duis adipisicing id incididunt. Dolore eu eu sunt nostrud occaecat elit ipsum enim aliquip.
Anim ipsum voluptate ex ex
Incididunt qui magna et laborum voluptate amet enim. Ex veniam ipsum sit excepteur. Amet commodo commodo
labore ipsum ut incididunt. Ipsum et ad adipisicing dolore sit pariatur laboris.
Nostrud id commodo excepteur est
Dolore incididunt tempor consectetur deserunt proident id minim exercitation consectetur. Ipsum enim eu
sit
duis adipisicing id incididunt. Dolore eu eu sunt nostrud occaecat elit ipsum enim aliquip.
Anim ipsum voluptate ex ex
Incididunt qui magna et laborum voluptate amet enim. Ex veniam ipsum sit excepteur. Amet commodo commodo
labore ipsum ut incididunt. Ipsum et ad adipisicing dolore sit pariatur laboris.
Nostrud id commodo excepteur est
Dolore incididunt tempor consectetur deserunt proident id minim exercitation consectetur. Ipsum enim eu
sit
duis adipisicing id incididunt. Dolore eu eu sunt nostrud occaecat elit ipsum enim aliquip.
Nostrud id commodo excepteur est
Dolore incididunt tempor consectetur deserunt proident id minim exercitation consectetur. Ipsum enim eu
sit
duis adipisicing id incididunt. Dolore eu eu sunt nostrud occaecat elit ipsum enim aliquip.
Anim ipsum voluptate ex ex
Incididunt qui magna et laborum voluptate amet enim. Ex veniam ipsum sit excepteur. Amet commodo commodo
labore ipsum ut incididunt. Ipsum et ad adipisicing dolore sit pariatur laboris.
Anim ipsum voluptate ex ex
Incididunt qui magna et laborum voluptate amet enim. Ex veniam ipsum sit excepteur. Amet commodo commodo
labore ipsum ut incididunt. Ipsum et ad adipisicing dolore sit pariatur laboris.
Anim ipsum voluptate ex ex
Incididunt qui magna et laborum voluptate amet enim. Ex veniam ipsum sit excepteur. Amet commodo commodo
labore ipsum ut incididunt. Ipsum et ad adipisicing dolore sit pariatur laboris.
Exercitation id reprehenderit occaecat
Consequat minim in duis enim in aliqua elit et. Reprehenderit officia proident est minim fugiat nisi
laboris
esse ad. Qui culpa elit deserunt aliquip reprehenderit reprehenderit occaecat. Incididunt nulla irure
magna
eiusmod dolor. Cupidatat pariatur cupidatat consequat quis.
Why do we use it?
Lorem Ipsum is simply dummy text of the printing and culo typesetting industry. Lorem Ipsum has been the
industry's standard dummy text ever since the 1500s.
Nam porta tempus elit
imperdiet dolor, sed convallis lacus sollicitudin at. Integer tempor elementum dolor a fermentum. Sed
erat
lorem, tempus mollis mi tincidunt, laoreet faucibus ex.
Pellentesque a tincidunt metus
Magna adipisicing labore aute dolore. Officia hulu tempor reprehenderit ad id sunt nisi pariatur. Minim
ullamco
aliqua et velit esse veniam.
Tempor irure laboris veniam
Ut ad eiusmod adipisicing enim culpa mollit. Do ad adipisicing dolor incididunt dolor ad amet cupidatat.
Nisi
minim veniam cillum eu fugiat exercitation ut quis. Mollit velit adipisicing elit qui. Eu in esse elit
culpa.
Nostrud id commodo excepteur est
Dolore incididunt tempor consectetur deserunt proident id minim exercitation consectetur. Ipsum enim eu
sit
duis adipisicing id incididunt. Dolore eu eu sunt nostrud occaecat elit ipsum enim aliquip.
Anim ipsum voluptate ex ex
Incididunt qui magna et laborum voluptate amet enim. Ex veniam ipsum sit excepteur. Amet commodo commodo
labore ipsum ut incididunt. Ipsum et ad adipisicing dolore sit pariatur laboris.
Exercitation id reprehenderit occaecat
Consequat minim in duis enim in aliqua elit et. Reprehenderit officia proident est minim fugiat nisi
laboris
esse ad. Qui culpa elit deserunt aliquip reprehenderit reprehenderit occaecat. Incididunt nulla irure
magna
eiusmod dolor. Cupidatat pariatur cupidatat consequat quis.
У меня есть эта работающая страница, но я хотел бы добавить ellipsis в странице на основе следующей логики (если MaxPages = 3 и общее количество страниц равно, например, 36): [code][1, 2, 3, '...', 36] // 1-3 is the current page [1, '...', 10, 11, 12, '...', 36] // 10-12 is the current page [1, '...', 34, 35, 36] // 34-36 is the current page < /code> Как я могу изменить массив < /code>, чтобы вточить в него эллипсис?const wrapper = document.querySelector(".wrapper"); const pagination = document.querySelector(".pagination-nav"); const items = Array.from(document.querySelectorAll(".item")); let filteredItems = items; let currPage = 1;
/** * * @param {int} totalItems Total number of items to paginate * @param {int} currentPage Current page * @param {int} pageSize Number of items per page * @param {int} maxPages Max number of pages to display at the time * @returns array of pages */ function paginate(totalItems, currentPage = 1, pageSize = 2, maxPages = 3) {
let totalPages = Math.ceil(totalItems / pageSize); if (currentPage < 1) { currentPage = 1; } else if (currentPage > totalPages) { currentPage = totalPages; }
let startPage, endPage; if (totalPages startPage + i);
What is Lorem Ipsum? Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.
Why do we use it? Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.
Nam porta tempus elit imperdiet dolor, sed convallis lacus sollicitudin at. Integer tempor elementum dolor a fermentum. Sed erat lorem, tempus mollis mi tincidunt, laoreet faucibus ex.
Pellentesque a tincidunt metus Magna adipisicing labore aute dolore. Officia tempor reprehenderit ad id sunt nisi pariatur. Minim ullamco aliqua et velit esse veniam.
Tempor irure laboris veniam Ut ad eiusmod adipisicing enim culpa mollit. Do ad adipisicing dolor incididunt dolor ad amet cupidatat. Nisi minim veniam cillum eu fugiat exercitation ut quis. Mollit velit adipisicing elit qui. Eu in esse elit culpa.
Pellentesque a tincidunt metus Magna adipisicing labore aute dolore. Officia tempor reprehenderit ad id sunt nisi pariatur. Minim ullamco aliqua et velit esse veniam.
Tempor irure laboris veniam Ut ad eiusmod adipisicing enim culpa mollit. Do ad adipisicing dolor incididunt dolor ad amet cupidatat. Nisi minim veniam cillum eu fugiat exercitation ut quis. Mollit velit adipisicing elit qui. Eu in esse elit culpa.
Nostrud id commodo excepteur est Dolore incididunt tempor consectetur deserunt proident id minim exercitation consectetur. Ipsum enim eu sit duis adipisicing id incididunt. Dolore eu eu sunt nostrud occaecat elit ipsum enim aliquip.
Anim ipsum voluptate ex ex Incididunt qui magna et laborum voluptate amet enim. Ex veniam ipsum sit excepteur. Amet commodo commodo labore ipsum ut incididunt. Ipsum et ad adipisicing dolore sit pariatur laboris.
Nostrud id commodo excepteur est Dolore incididunt tempor consectetur deserunt proident id minim exercitation consectetur. Ipsum enim eu sit duis adipisicing id incididunt. Dolore eu eu sunt nostrud occaecat elit ipsum enim aliquip.
Anim ipsum voluptate ex ex Incididunt qui magna et laborum voluptate amet enim. Ex veniam ipsum sit excepteur. Amet commodo commodo labore ipsum ut incididunt. Ipsum et ad adipisicing dolore sit pariatur laboris.
Nostrud id commodo excepteur est Dolore incididunt tempor consectetur deserunt proident id minim exercitation consectetur. Ipsum enim eu sit duis adipisicing id incididunt. Dolore eu eu sunt nostrud occaecat elit ipsum enim aliquip.
Nostrud id commodo excepteur est Dolore incididunt tempor consectetur deserunt proident id minim exercitation consectetur. Ipsum enim eu sit duis adipisicing id incididunt. Dolore eu eu sunt nostrud occaecat elit ipsum enim aliquip.
Anim ipsum voluptate ex ex Incididunt qui magna et laborum voluptate amet enim. Ex veniam ipsum sit excepteur. Amet commodo commodo labore ipsum ut incididunt. Ipsum et ad adipisicing dolore sit pariatur laboris.
Anim ipsum voluptate ex ex Incididunt qui magna et laborum voluptate amet enim. Ex veniam ipsum sit excepteur. Amet commodo commodo labore ipsum ut incididunt. Ipsum et ad adipisicing dolore sit pariatur laboris.
Anim ipsum voluptate ex ex Incididunt qui magna et laborum voluptate amet enim. Ex veniam ipsum sit excepteur. Amet commodo commodo labore ipsum ut incididunt. Ipsum et ad adipisicing dolore sit pariatur laboris.
Exercitation id reprehenderit occaecat Consequat minim in duis enim in aliqua elit et. Reprehenderit officia proident est minim fugiat nisi laboris esse ad. Qui culpa elit deserunt aliquip reprehenderit reprehenderit occaecat. Incididunt nulla irure magna eiusmod dolor. Cupidatat pariatur cupidatat consequat quis.
Why do we use it? Lorem Ipsum is simply dummy text of the printing and culo typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.
Nam porta tempus elit imperdiet dolor, sed convallis lacus sollicitudin at. Integer tempor elementum dolor a fermentum. Sed erat lorem, tempus mollis mi tincidunt, laoreet faucibus ex.
Pellentesque a tincidunt metus Magna adipisicing labore aute dolore. Officia hulu tempor reprehenderit ad id sunt nisi pariatur. Minim ullamco aliqua et velit esse veniam.
Tempor irure laboris veniam Ut ad eiusmod adipisicing enim culpa mollit. Do ad adipisicing dolor incididunt dolor ad amet cupidatat. Nisi minim veniam cillum eu fugiat exercitation ut quis. Mollit velit adipisicing elit qui. Eu in esse elit culpa.
Nostrud id commodo excepteur est Dolore incididunt tempor consectetur deserunt proident id minim exercitation consectetur. Ipsum enim eu sit duis adipisicing id incididunt. Dolore eu eu sunt nostrud occaecat elit ipsum enim aliquip.
Anim ipsum voluptate ex ex Incididunt qui magna et laborum voluptate amet enim. Ex veniam ipsum sit excepteur. Amet commodo commodo labore ipsum ut incididunt. Ipsum et ad adipisicing dolore sit pariatur laboris.
Exercitation id reprehenderit occaecat Consequat minim in duis enim in aliqua elit et. Reprehenderit officia proident est minim fugiat nisi laboris esse ad. Qui culpa elit deserunt aliquip reprehenderit reprehenderit occaecat. Incididunt nulla irure magna eiusmod dolor. Cupidatat pariatur cupidatat consequat quis.