🚨 애니메이션 효과는 필요하지 않습니다.
Day 1
Day 2
Day 3
var index = 1;
showSlides(index);
function nextSlide(n) {
showSlides((index += n));
}
function prevSlide(n) {
showSlides((index -= n));
}
function currentSlide(n) {
showSlides((index = n));
}
function showSlides(n) {
var i;
var slides = document.getElementsByClassName("images-wrapper");
var dots = document.getElementsByClassName("dot");
if (n > slides.length) {
index = 1;
}
if (n < 1) {
index = slides.length;
}
for (i = 0; i < slides.length; i++) {
slides[i].style.display = "none";
}
for (i = 0; i < dots.length; i++) {
dots[i].className.replace("active", "");
}
slides[index - 1].style.display = "block";
}
const $dotsWrapper = document.querySelector(".dots-wrapper");
const imagesList = document.querySelectorAll(".image");
const $prev = document.querySelector(".prev");
const $next = document.querySelector(".next");
const CLASS_NAME_HIDDEN = "hidden";
let index = 1;
function currentSlide() {
showSlides(index);
}
for(let j = 1; j<imagesList.length+1; j++){
const dots = document.createElement("div");
$dotsWrapper.append(dots);
dots.className = "dots";
dots.addEventListener("click",function (){
showSlides(index = j);
})
}
const dotsList = document.querySelectorAll(".dots");
showSlides(index);
$prev.addEventListener("click", function () {
showSlides((index -= 1));
});
$next.addEventListener("click",function () {
showSlides((index += 1));
});
function showSlides(n) {
if (n > imagesList.length) {
index = 1;
}
if (n < 1) {
index = imagesList.length;
}
for (i = 0; i < imagesList.length; i++) {
imagesList[i].className = CLASS_NAME_HIDDEN;
}
for (i = 0; i < dotsList.length; i++) {
dotsList[i].className = "dots";
}
imagesList[index - 1].className = "image";
dotsList[index - 1].className += "active";
}
var
대신 const, let
을 사용하여 선언onclick
속성 → eventListener
https://github.com/newsilver1028/Mini_Web_Project
https://book.vanillacoding.co/starter-kit/step-4/interacting-with-webpages/carousel