63 lines
2.2 KiB
JavaScript
63 lines
2.2 KiB
JavaScript
/* ==========================================================================
|
|
EDDY'S CONSTRUCTION - HOME SPECIFIC JS (home.js)
|
|
Lógica exclusiva para a página inicial (Hero Slider)
|
|
========================================================================== */
|
|
|
|
document.addEventListener('DOMContentLoaded', () => {
|
|
|
|
/* Hero Slider (Home) */
|
|
const slides = document.querySelectorAll('.hero-slider .slide');
|
|
const prevBtnHome = document.getElementById('prevSlide');
|
|
const nextBtnHome = document.getElementById('nextSlide');
|
|
const dotsContainer = document.getElementById('sliderDots');
|
|
let currentHomeSlide = 0;
|
|
let homeSlideInterval;
|
|
|
|
if (slides.length > 0) {
|
|
// Cria os pontos (dots) de navegação dinamicamente
|
|
slides.forEach((_, idx) => {
|
|
const dot = document.createElement('div');
|
|
dot.classList.add('dot');
|
|
if (idx === 0) dot.classList.add('active');
|
|
dot.addEventListener('click', () => goToHomeSlide(idx));
|
|
if (dotsContainer) dotsContainer.appendChild(dot);
|
|
});
|
|
|
|
const dots = document.querySelectorAll('.slider-dots .dot');
|
|
|
|
function goToHomeSlide(n) {
|
|
slides[currentHomeSlide].classList.remove('active');
|
|
if (dots[currentHomeSlide]) dots[currentHomeSlide].classList.remove('active');
|
|
|
|
currentHomeSlide = (n + slides.length) % slides.length;
|
|
|
|
slides[currentHomeSlide].classList.add('active');
|
|
if (dots[currentHomeSlide]) dots[currentHomeSlide].classList.add('active');
|
|
|
|
resetHomeAutoplay();
|
|
}
|
|
|
|
function nextHomeSlide() {
|
|
goToHomeSlide(currentHomeSlide + 1);
|
|
}
|
|
|
|
function prevHomeSlide() {
|
|
goToHomeSlide(currentHomeSlide - 1);
|
|
}
|
|
|
|
if (nextBtnHome) nextBtnHome.addEventListener('click', nextHomeSlide);
|
|
if (prevBtnHome) prevBtnHome.addEventListener('click', prevHomeSlide);
|
|
|
|
function startHomeAutoplay() {
|
|
homeSlideInterval = setInterval(nextHomeSlide, 5000); // Troca a cada 5 segundos
|
|
}
|
|
|
|
function resetHomeAutoplay() {
|
|
clearInterval(homeSlideInterval);
|
|
startHomeAutoplay();
|
|
}
|
|
|
|
startHomeAutoplay();
|
|
}
|
|
});
|