
Pagination






codes you should have for slider working
HtML Code
css Code
.wraperPagination {
width: 85%;
height: 500px;
margin: 0 auto;
border: 1px solid #ffffff1a;
background-color: white;
display: flex;
flex-wrap: nowrap;
overflow: hidden;
}
.btnRightCssPagination {
width: 50px;
height: 50px;
position: absolute;
z-index: 10;
right: 1.25rem;
top: 50%;
transform: translateY(-50%);
cursor: pointer;
transition: 0.7s all;
&:hover {
transform: translateY(-50%) scale(1.2);
}
}
.btnLeftCssPagination {
width: 50px;
height: 50px;
position: absolute;
z-index: 10;
left: 1.25rem;
top: 50%;
transform: translateY(-50%);
cursor: pointer;
transition: 0.7s all;
&:hover {
transform: translateY(-50%) scale(1.2);
}
}
.imagesCssPagination {
width: 100%;
height: 100%;
display: flex;
flex-shrink: 0;
> img {
width: 100%;
height: 100%;
object-fit: cover;
}
}
.dotsPosition {
position: absolute;
left: 50%;
transform: translateX(-50%);
bottom: 80px;
z-index: 20;
> ul {
display: flex;
gap: 5px;
}
}
.dotsPositionCr {
width: 10px;
height: 10px;
border-radius: 50%;
background-color: black;
border: 1px solid rgb(0, 174, 255);
}
.dotActive {
background-color: rgb(0, 174, 255) !important;
}
js Code
let _imagesWrapperPagination = document.querySelectorAll(
".freshSwiperPagination"
);
let freshWrapperPagination = document.querySelector(".freshWrapperPagination");
const btnRightPagination = document.getElementById("btnRightPagination");
const btnLeftPagination = document.getElementById("btnLeftPagination");
const dotsPagination = document.querySelector("#dotsPagination");
btnRightPagination.classList.add("btnRightCssPagination");
btnLeftPagination.classList.add("btnLeftCssPagination");
freshWrapperPagination.classList.add("wraperPagination");
_imagesWrapperPagination.forEach((imageWrap) => {
imageWrap.classList.add("imagesCssPagination");
});
let flagRightPagination = 0;
let transRightNumbPagination = 0;
let flagRightClickPagination = 0;
let dotFlagBoolean = true;
let wichImage;
for (let i = 0; i <= _imagesWrapperPagination.length - 1; i++) {
dotsPagination.innerHTML += ` `;
wichImage = _imagesWrapperPagination[i].getAttribute("data-dotTurn");
console.log(i);
}
let dot1 = document.querySelector(".dot1");
let dot2 = document.querySelector(".dot2");
let dot3 = document.querySelector(".dot3");
let dot4 = document.querySelector(".dot4");
dot1.classList.add("dotActive");
let _imgNumb;
btnRightPagination.addEventListener("click", () => {
if (flagRightClickPagination == _imagesWrapperPagination.length - 1) {
btnRightPagination.removeEventListener("click", () => {});
} else {
flagRightClickPagination++;
transRightNumbPagination =
transRightNumbPagination + flagRightPagination - 100;
_imagesWrapperPagination.forEach((item) => {
item.style.transition = "0.5s all";
item.style.transform = `translateX(${transRightNumbPagination}%)`;
});
// make dots color
if (dotFlagBoolean) {
_imgNumb = flagRightClickPagination - flagLeftClickPagination + 1;
// dots get bg
if ("dot2" == `dot${_imgNumb}`) {
dot2.classList.add("dotActive");
dot1.classList.remove("dotActive");
dot3.classList.remove("dotActive");
dot4.classList.remove("dotActive");
} else if ("dot3" == `dot${_imgNumb}`) {
dot3.classList.add("dotActive");
dot1.classList.remove("dotActive");
dot2.classList.remove("dotActive");
dot4.classList.remove("dotActive");
} else if ("dot4" == `dot${_imgNumb}`) {
dot4.classList.add("dotActive");
dot1.classList.remove("dotActive");
dot2.classList.remove("dotActive");
dot3.classList.remove("dotActive");
} else if ("dot1" == `dot${_imgNumb}`) {
dot1.classList.add("dotActive");
dot4.classList.remove("dotActive");
dot2.classList.remove("dotActive");
dot3.classList.remove("dotActive");
}
}
}
});
let flagLeftClickPagination = 0;
let flagLeftPagination = 0;
btnLeftPagination.addEventListener("click", () => {
// if click
flagRightClickPagination--;
flagLeftClickPagination++;
// dots get bg
if (dotFlagBoolean) {
_imgNumb = flagRightClickPagination + 1;
if ("dot2" == `dot${_imgNumb}`) {
dot2.classList.add("dotActive");
dot1.classList.remove("dotActive");
dot3.classList.remove("dotActive");
dot4.classList.remove("dotActive");
} else if ("dot3" == `dot${_imgNumb}`) {
dot3.classList.add("dotActive");
dot1.classList.remove("dotActive");
dot2.classList.remove("dotActive");
dot4.classList.remove("dotActive");
} else if ("dot4" == `dot${_imgNumb}`) {
dot4.classList.add("dotActive");
dot1.classList.remove("dotActive");
dot2.classList.remove("dotActive");
dot3.classList.remove("dotActive");
} else if ("dot1" == `dot${_imgNumb}`) {
dot1.classList.add("dotActive");
dot4.classList.remove("dotActive");
dot2.classList.remove("dotActive");
dot3.classList.remove("dotActive");
}
}
// if click too much and dont have picture
if (flagRightClickPagination < 0) {
btnLeftPagination.removeEventListener("click", () => {});
flagRightClickPagination = 0;
flagLeftClickPagination = 0;
transRightNumbPagination = 0;
_imgNumb = 0;
} else {
transRightNumbPagination =
transRightNumbPagination + flagLeftPagination + 100;
_imagesWrapperPagination.forEach((item) => {
item.style.transition = "0.5s all";
item.style.transform = `translateX(${transRightNumbPagination}%)`;
});
}
});





