1. 轮播器效果图
1. 正常状态下每 1.5秒 自动轮播下张图片,轮播结束从头开始重复
2. 鼠标悬停时停止轮播,可以选择左右图片切换
2. HTML 结构
文档类型声明: 声明文档类型为HTML5。HTML标签: 表示这是一个中文的HTML文档。头部:
标签内包含了文档的元数据。指定文档的字符编码为UTF-8。 用于优化移动设备上的显示效果。
样式:
let currentIndex = 0;
const slides = document.querySelectorAll('.slide');
const totalSlides = slides.length;
const slideWidth = 600; // 根据图片宽度设置
const slideTrack = document.querySelector('.slide-track');
const indicatorsContainer = document.querySelector('.indicators');
// 创建指示器
for (let i = 0; i < totalSlides; i++) {
const indicator = document.createElement('div');
indicator.classList.add('indicator');
if (i === 0) indicator.classList.add('active');
indicator.addEventListener('click', () => {
currentIndex = i;
updateSlidePosition();
updateIndicators();
});
indicatorsContainer.appendChild(indicator);
}
function updateSlidePosition() {
slideTrack.style.transform = `translateX(-${currentIndex * slideWidth}px)`;
}
function updateIndicators() {
document.querySelectorAll('.indicator').forEach((indicator, index) => {
if (index === currentIndex) {
indicator.classList.add('active');
} else {
indicator.classList.remove('active');
}
});
}
function moveSlide(direction) {
currentIndex += direction;
if (currentIndex >= totalSlides) {
currentIndex = 0;
} else if (currentIndex < 0) {
currentIndex = totalSlides - 1;
}
updateSlidePosition();
updateIndicators();
}
// 自动轮播
let autoSlideInterval = setInterval(() => {
moveSlide(1);
}, 2500); // 设置轮播间隔为 2秒
// 鼠标悬停时停止自动轮播
const slider = document.querySelector('.slider');
slider.addEventListener('mouseenter', () => clearInterval(autoSlideInterval));
slider.addEventListener('mouseleave', () => autoSlideInterval = setInterval(() => moveSlide(1), 2000));
// 初始化轮播位置
updateSlidePosition();


