添加en和zh
This commit is contained in:
77
en/docs/assets/javascripts/carousel.js
Normal file
77
en/docs/assets/javascripts/carousel.js
Normal file
@@ -0,0 +1,77 @@
|
||||
document.addEventListener("DOMContentLoaded", function() {
|
||||
// 获取所有轮播图容器
|
||||
const carousels = document.querySelectorAll('.image-carousel');
|
||||
|
||||
carousels.forEach(carousel => {
|
||||
const slides = carousel.querySelectorAll('.carousel-slide');
|
||||
const prevBtn = carousel.querySelector('.carousel-prev');
|
||||
const nextBtn = carousel.querySelector('.carousel-next');
|
||||
const dots = carousel.querySelectorAll('.carousel-dot');
|
||||
let currentIndex = 0;
|
||||
|
||||
// 显示特定索引的幻灯片
|
||||
function showSlide(index) {
|
||||
// 隐藏所有幻灯片
|
||||
slides.forEach(slide => {
|
||||
slide.style.display = 'none';
|
||||
});
|
||||
|
||||
// 移除所有圆点的active类
|
||||
dots.forEach(dot => {
|
||||
dot.classList.remove('active');
|
||||
});
|
||||
|
||||
// 显示当前幻灯片
|
||||
slides[index].style.display = 'block';
|
||||
|
||||
// 确保导航按钮总是可见
|
||||
if (prevBtn) prevBtn.style.display = 'flex';
|
||||
if (nextBtn) nextBtn.style.display = 'flex';
|
||||
|
||||
// 给当前圆点添加active类
|
||||
if (dots.length > 0 && index < dots.length) {
|
||||
dots[index].classList.add('active');
|
||||
}
|
||||
}
|
||||
|
||||
// 显示初始幻灯片
|
||||
showSlide(currentIndex);
|
||||
|
||||
// 前一张按钮点击事件
|
||||
if (prevBtn) {
|
||||
prevBtn.addEventListener('click', (e) => {
|
||||
e.stopPropagation(); // 阻止事件冒泡
|
||||
currentIndex = currentIndex > 0 ? currentIndex - 1 : slides.length - 1;
|
||||
showSlide(currentIndex);
|
||||
});
|
||||
}
|
||||
|
||||
// 下一张按钮点击事件
|
||||
if (nextBtn) {
|
||||
nextBtn.addEventListener('click', (e) => {
|
||||
e.stopPropagation(); // 阻止事件冒泡
|
||||
currentIndex = currentIndex < slides.length - 1 ? currentIndex + 1 : 0;
|
||||
showSlide(currentIndex);
|
||||
});
|
||||
}
|
||||
|
||||
// 圆点点击事件
|
||||
dots.forEach((dot, index) => {
|
||||
dot.addEventListener('click', () => {
|
||||
currentIndex = index;
|
||||
showSlide(currentIndex);
|
||||
});
|
||||
});
|
||||
|
||||
// 可选:键盘导航
|
||||
document.addEventListener('keydown', (e) => {
|
||||
if (e.key === 'ArrowLeft') {
|
||||
currentIndex = currentIndex > 0 ? currentIndex - 1 : slides.length - 1;
|
||||
showSlide(currentIndex);
|
||||
} else if (e.key === 'ArrowRight') {
|
||||
currentIndex = currentIndex < slides.length - 1 ? currentIndex + 1 : 0;
|
||||
showSlide(currentIndex);
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user