【週刊ドットインストール】 考える力を養うための新クラス『データで学ぶアルゴリズム』を256timesでリリース!
moveSlides()の中にupdateButtons()やupdateDots()を入れると、重複が減ると思うのですが、この書き方はありなのでしょうか? いろいろな書き方があるとは思うのですが、「この書き方でも全然問題ない、むしろ良い」や「この書き方だと不都合がある」などデメリットもあれば教えていただきたいです。 どうぞ、よろしくお願いいたします。
moveSlides()
updateButtons()
updateDots()
"use strict"; { const next = document.getElementById("next"); const prev = document.getElementById("prev"); const ul = document.querySelector("ul"); const slides = ul.children; const dots = []; let currentIndex = 0; function updateButtons() { prev.classList.remove("hidden"); next.classList.remove("hidden"); if (currentIndex === 0) { prev.classList.add("hidden"); } if (currentIndex === slides.length - 1) { next.classList.add("hidden"); } } function moveSlides() { // 2行追加 updateDots(); updateButtons(); const slideWidth = slides[0].getBoundingClientRect().width; ul.style.transform = `translateX(${-1 * slideWidth * currentIndex}px)`; } function setupDots() { for (let i = 0; i < slides.length; i++) { const button = document.createElement("button"); button.addEventListener("click", () => { currentIndex = i; // updateDots(); // updateButtons(); moveSlides(); }); dots.push(button); document.querySelector("nav").appendChild(button); } dots[0].classList.add("current"); } function updateDots() { dots.forEach((dot) => { dot.classList.remove("current"); }); dots[currentIndex].classList.add("current"); } updateButtons(); setupDots(); next.addEventListener("click", () => { currentIndex++; // updateButtons(); // updateDots(); moveSlides(); }); prev.addEventListener("click", () => { currentIndex--; // updateButtons(); // updateDots(); moveSlides(); }); window.addEventListener("resize", () => { moveSlides(); }); }
ドットインストールは、3分動画でマスターできるプログラミング学習サービスです。
3分で気軽に学習でき、スマートフォンからも視聴可能です。ホームページやWebサービスの制作を通して、実践的にプログラミングを学べます。
他にも、ゲーム制作やデータ分析・機械学習・AIに使われる言語まで幅広くカバー。学びたい分野のレッスンがきっと見つかります。
この回答を見るにはプレミアムプランへの登録が必要です
moveSlides()の中にupdateButtons()やupdateDots()を入れると、重複が減ると思うのですが、この書き方はありなのでしょうか? いろいろな書き方があるとは思うのですが、「この書き方でも全然問題ない、むしろ良い」や「この書き方だと不都合がある」などデメリットもあれば教えていただきたいです。どうぞ、よろしくお願いいたします。