【发布时间】:2021-11-14 09:56:37
【问题描述】:
我正在尝试使用 setInterval 函数让我的轮播自动播放,但我一直没有运气。
我尝试在最后调用 setInterval 函数中的轮播函数,但它不起作用..我做错了什么?
这里是沙盒 https://codesandbox.io/s/slider-7ph05?file=/src/index.js
这是我的 JS 代码:
const slides = document.querySelectorAll(".slide");
const prevBtn = document.querySelector(".prevBtn");
const nextBtn = document.querySelector(".nextBtn");
// Inline callback function
// forEach(function(element, index, array){ ... })
slides.forEach(function (slide, index) {
slide.style.left = `${index * 100}%`;
// console.log(slide);
// console.log(index);
// console.log(array);
});
let count = 0;
nextBtn.addEventListener("click", function () {
count++;
carousel();
});
prevBtn.addEventListener("click", function () {
count--;
carousel();
});
function carousel() {
slides.forEach(function (slide) {
if (count > slides.length - 1) {
count = 0;
}
if (count < 0) {
count = slides.length - 1;
}
slide.style.transform = `translateX(-${count * 100}%)`;
// console.log(slides.length);
// console.log(slide);
// console.log(count);
});
}
setInterval(carousel, 3000);
【问题讨论】:
标签: javascript carousel setinterval