fix: resolve various issues in hero section

This commit is contained in:
2026-02-09 16:08:52 +08:00
parent 64ed7bb140
commit d8b77d3d3c
2 changed files with 83 additions and 54 deletions

View File

@@ -36,47 +36,6 @@ document.addEventListener('DOMContentLoaded', function() {
menuToggle.querySelector('i').classList.toggle('fa-close');
});
// 轮播图逻辑
const slides = document.querySelectorAll('.hero-carousel-slide');
const dots = document.querySelectorAll('.hero-carousel-dot');
let currentSlide = 0;
const intervalTime = 5000;
function updateCarousel() {
slides.forEach((slide, index) => {
slide.classList.remove('opacity-100');
slide.classList.add('opacity-0');
dots[index].classList.remove('bg-white');
dots[index].classList.add('bg-white/50');
});
slides[currentSlide].classList.remove('opacity-0');
slides[currentSlide].classList.add('opacity-100');
dots[currentSlide].classList.remove('bg-white/50');
dots[currentSlide].classList.add('bg-white');
const img = slides[currentSlide].querySelector('img');
document.querySelectorAll('.hero-carousel-slide img').forEach(i => i.classList.remove('ken-burns-active'));
img.classList.add('ken-burns-active');
}
function nextSlide() {
currentSlide = (currentSlide + 1) % slides.length;
updateCarousel();
}
let carouselInterval = setInterval(nextSlide, intervalTime);
updateCarousel(); // 初始化
dots.forEach((dot, index) => {
dot.addEventListener('click', () => {
clearInterval(carouselInterval);
currentSlide = index;
updateCarousel();
carouselInterval = setInterval(nextSlide, intervalTime);
});
});
// 模态框逻辑
const modal = document.getElementById('solution-modal');
const modalTitle = document.getElementById('modal-title');