
Default Slider Loop






codes you should have for slider working
HtML Code
css Code
.wraperDefLoop {
width: 85%;
height: 500px;
margin: 0 auto;
border: 1px solid #ffffff1a;
background-color: white;
display: flex;
flex-wrap: nowrap;
overflow: hidden;
}
.btnRightCssLoop {
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);
}
}
.btnLeftCssLoop {
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);
}
}
.imagesCssLoop {
width: 100%;
height: 100%;
display: flex;
flex-shrink: 0;
> img {
width: 100%;
height: 100%;
object-fit: cover;
}
}
js Code
let _imagesWrapperDefLoop = document.querySelectorAll(".freshSwiperDefLoop");
let freshWrapperDefLoop = document.querySelector(".freshWrapperDefLoop");
const btnRightDefaultLoop = document.getElementById("btnRightDefaultLoop");
const btnLeftDefaultLoop = document.getElementById("btnLeftDefaultLoop");
const TimeSpeedDefLoop = 1500;
btnRightDefaultLoop.classList.add("btnRightCssLoop");
btnLeftDefaultLoop.classList.add("btnLeftCssLoop");
freshWrapperDefLoop.classList.add("wraperDefLoop");
_imagesWrapperDefLoop.forEach((imageWrap) => {
imageWrap.classList.add("imagesCssLoop");
});
let flagRightDefLoop = 0;
let transRightNumbDefLoop = 0;
let flagRightClickDefLoop = 0;
btnRightDefaultLoop.addEventListener("click", () => {
if (flagRightClickDefLoop == _imagesWrapperDefLoop.length - 1) {
btnRightDefaultLoop.removeEventListener("click", () => {});
} else {
flagRightClickDefLoop++;
transRightNumbDefLoop = transRightNumbDefLoop + flagRightDefLoop - 100;
_imagesWrapperDefLoop.forEach((item) => {
item.style.transition = "0.5s all";
item.style.transform = `translateX(${transRightNumbDefLoop}%)`;
});
}
});
let flagLeftClickDefLoop = 0;
let flagLeftDefLoop = 0;
btnLeftDefaultLoop.addEventListener("click", () => {
// if click
flagRightClickDefLoop--;
flagLeftClickDefLoop++;
// if click too much and dont have picture
if (flagRightClickDefLoop < 0) {
btnLeftDefaultLoop.removeEventListener("click", () => {});
flagRightClickDefLoop = 0;
flagLeftClickDefLoop = 0;
transRightNumbDefLoop = 0;
} else {
transRightNumbDefLoop = transRightNumbDefLoop + flagLeftDefLoop + 100;
_imagesWrapperDefLoop.forEach((item) => {
item.style.transition = "0.5s all";
item.style.transform = `translateX(${transRightNumbDefLoop}%)`;
});
}
});
let goToRightLoop = true;
let stateLoop = true;
setInterval(() => {
if (goToRightLoop == true) {
if (stateLoop) {
btnRightDefaultLoop.click();
if (flagRightClickDefLoop === _imagesWrapperDefLoop.length - 1) {
stateLoop = false;
}
} else {
goToRightLoop = false;
}
} else {
// click on left
btnLeftDefaultLoop.click();
// click when image not exist
if (transRightNumbDefLoop == 0) {
goToRightLoop = true;
stateLoop = true;
}
}
}, TimeSpeedDefLoop);





