-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcarousel.js
53 lines (43 loc) · 1.69 KB
/
carousel.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
// Inicialização dos índices dos slides
let currentIndex = 0;
let currentExcerptIndex = 0;
// Função para mover o carrossel de personagens
function moveSlide(step) {
const slides = document.querySelectorAll(".carousel .character");
const totalSlides = slides.length;
// Remove a classe 'active' do slide atual
slides[currentIndex].classList.remove("active");
// Calcula o próximo índice
currentIndex = (currentIndex + step + totalSlides) % totalSlides;
// Adiciona a classe 'active' ao próximo slide
slides[currentIndex].classList.add("active");
// Move o carrossel para o slide correto
document.querySelector(".carousel-content").style.transform = `translateX(-${
currentIndex * 100
}%)`;
}
// Função para atualizar a visibilidade dos trechos
function updateExcerptVisibility() {
const excerpts = document.querySelectorAll(".carousel-excerpts .excerpt");
excerpts.forEach((excerpt, index) => {
excerpt.style.display = index === currentExcerptIndex ? "block" : "none";
});
}
// Função para mover o carrossel de trechos
function moveExcerpt(direction) {
const excerpts = document.querySelectorAll(".carousel-excerpts .excerpt");
currentExcerptIndex += direction;
// Faz o índice circular
if (currentExcerptIndex < 0) {
currentExcerptIndex = excerpts.length - 1;
} else if (currentExcerptIndex >= excerpts.length) {
currentExcerptIndex = 0;
}
// Atualiza a visibilidade dos trechos
updateExcerptVisibility();
}
// Inicializa o carrossel de personagens e trechos
document.addEventListener("DOMContentLoaded", () => {
moveSlide(0); // Configura o carrossel de personagens
updateExcerptVisibility(); // Configura a visibilidade inicial dos trechos
});