main.js 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. import "./style.css";
  2. const slider = document.querySelector(".slider__wrapper");
  3. const leftBtn = document.querySelector(".slider__left-btn");
  4. const rightBtn = document.querySelector(".slider__right-btn");
  5. const dots = document.querySelector(".slider__dots");
  6. let state = 0;
  7. let prevDot = null;
  8. for (let i = 0; i < slider.children.length; i++) {
  9. const dot = document.createElement("button");
  10. dot.classList.add("slider__dot");
  11. if (i === state) {
  12. dot.classList.add("current");
  13. prevDot = dot;
  14. }
  15. dots.append(dot);
  16. dot.addEventListener("click", () => {
  17. prevDot?.classList.remove("current");
  18. dot.classList.add("current");
  19. prevDot = dot;
  20. state = i;
  21. slider.style.setProperty("--x", state);
  22. });
  23. }
  24. rightBtn.addEventListener("click", function () {
  25. prevDot.classList.remove("current");
  26. state = (state + 1) % slider.children.length;
  27. dots.children[state].classList.add("current");
  28. prevDot = dots.children[state];
  29. slider.style.setProperty("--x", state);
  30. });
  31. leftBtn.addEventListener("click", function () {
  32. if (state === 0) {
  33. state = slider.children.length - 1;
  34. } else {
  35. state--;
  36. }
  37. prevDot.classList.remove("current");
  38. dots.children[state].classList.add("current");
  39. prevDot = dots.children[state];
  40. slider.style.setProperty("--x", state);
  41. });