|
|
| Linha 1: |
Linha 1: |
| document.addEventListener("DOMContentLoaded", function () {
| | <script> |
| const slider = document.getElementById("exclusiveSlider");
| | let currentIndex = 0; |
| const left = document.querySelector(".exclusive-arrow.left");
| | let autoScrollInterval; |
| const right = document.querySelector(".exclusive-arrow.right");
| |
| | |
| let autoScroll;
| |
| | |
| function startAutoScroll() {
| |
| autoScroll = setInterval(() => {
| |
| slider.scrollLeft += 1;
| |
| if (slider.scrollLeft + slider.clientWidth >= slider.scrollWidth) {
| |
| slider.scrollLeft = 0;
| |
| }
| |
| }, 25);
| |
| }
| |
| | |
| function stopAutoScroll() {
| |
| clearInterval(autoScroll);
| |
| }
| |
| | |
| startAutoScroll();
| |
| | |
| slider.addEventListener("mouseenter", stopAutoScroll);
| |
| slider.addEventListener("mouseleave", startAutoScroll);
| |
| | |
| left.addEventListener("click", () => {
| |
| slider.scrollLeft -= 220;
| |
| });
| |
| | |
| right.addEventListener("click", () => {
| |
| slider.scrollLeft += 220;
| |
| });
| |
| });
| |
|
| |
|
| function scrollEverlight(direction) { | | function scrollEverlight(direction) { |
| const track = document.getElementById("everlightTrack"); | | const track = document.getElementById("everlightTrack"); |
| const scrollAmount = 260; | | const items = track.children; |
| track.scrollLeft += scrollAmount * direction; | | const itemWidth = items[0].offsetWidth + 18; // largura + gap |
| }
| |
|
| |
|
| /* auto scroll lento */
| | currentIndex += direction; |
| setInterval(() => {
| |
| const track = document.getElementById("everlightTrack"); | |
| if (!track) return;
| |
|
| |
|
| if (track.scrollLeft + track.clientWidth >= track.scrollWidth) { | | if (currentIndex < 0) currentIndex = items.length - 1; |
| track.scrollLeft = 0;
| | if (currentIndex >= items.length) currentIndex = 0; |
| } else {
| |
| track.scrollLeft += 1;
| |
| } | |
| }, 40);
| |
|
| |
|
| <script>
| | track.scrollTo({ |
| document.addEventListener("DOMContentLoaded", function () {
| | left: itemWidth * currentIndex, |
| const track = document.querySelector(".carousel-track"); | | behavior: "smooth" |
| const items = document.querySelectorAll(".carousel-item");
| |
| const btnLeft = document.querySelector(".carousel-btn.left");
| |
| const btnRight = document.querySelector(".carousel-btn.right");
| |
| | |
| let index = 0;
| |
| const itemWidth = items[0].offsetWidth + 20; // largura + gap
| |
| let autoScroll;
| |
| | |
| function updateCarousel() {
| |
| track.style.transform = `translateX(${-index * itemWidth}px)`;
| |
| }
| |
| | |
| function next() {
| |
| index++;
| |
| if (index >= items.length) index = 0;
| |
| updateCarousel();
| |
| }
| |
| | |
| function prev() {
| |
| index--;
| |
| if (index < 0) index = items.length - 1;
| |
| updateCarousel(); | |
| }
| |
| | |
| btnRight.addEventListener("click", () => {
| |
| stopAuto();
| |
| next();
| |
| startAuto();
| |
| }); | | }); |
|
| |
|
| btnLeft.addEventListener("click", () => { | | restartAutoScroll(); |
| stopAuto();
| |
| prev();
| |
| startAuto();
| |
| });
| |
| | |
| function startAuto() {
| |
| autoScroll = setInterval(() => {
| |
| next();
| |
| }, 4000); // 4 segundos parado em cada imagem
| |
| }
| |
| | |
| function stopAuto() {
| |
| clearInterval(autoScroll);
| |
| }
| |
| | |
| startAuto();
| |
| });
| |
| </script>
| |
| /* ===== CARROSSEL EVERLIGHT ===== */
| |
| .everlight-carousel {
| |
| position: relative;
| |
| display: flex;
| |
| align-items: center;
| |
| justify-content: center;
| |
| margin: 25px 0;
| |
| } | | } |
|
| |
|
| /* Área rolável */ | | /* Auto-rolagem: anda → para → centraliza */ |
| .everlight-carousel-track {
| | function startAutoScroll() { |
| display: flex; | | autoScrollInterval = setInterval(() => { |
| gap: 18px;
| | scrollEverlight(1); |
| overflow: hidden; | | }, 4000); // 4 segundos (pode mudar para 3000 ou 5000) |
| scroll-behavior: smooth;
| |
| width: 100%;
| |
| max-width: 1000px;
| |
| } | | } |
|
| |
|
| /* Cada imagem */
| | function restartAutoScroll() { |
| .everlight-carousel-track .img-hover {
| | clearInterval(autoScrollInterval); |
| flex: 0 0 auto; | | startAutoScroll(); |
| } | | } |
|
| |
|
| /* Botões */
| | document.addEventListener("DOMContentLoaded", startAutoScroll); |
| .carousel-btn { | | </script> |
| background: rgba(0,0,0,0.6);
| |
| color: #fff;
| |
| border: none;
| |
| width: 42px;
| |
| height: 42px;
| |
| font-size: 22px;
| |
| cursor: pointer;
| |
| border-radius: 50%;
| |
| transition: background 0.2s ease;
| |
| z-index: 10;
| |
| }
| |
| | |
| .carousel-btn:hover {
| |
| background: rgba(0,0,0,0.85);
| |
| }
| |
| | |
| .carousel-btn.left {
| |
| margin-right: 10px;
| |
| }
| |
| | |
| .carousel-btn.right {
| |
| margin-left: 10px;
| |
| }
| |
| | |
| /* Mantém seu hover */ | |
| .img-hover img {
| |
| transition: transform 0.3s ease, box-shadow 0.3s ease;
| |
| }
| |
| | |
| .img-hover img:hover {
| |
| transform: translateY(-6px) scale(1.03);
| |
| box-shadow: 0 10px 20px rgba(0,0,0,0.25);
| |
| }
| |
<script>
let currentIndex = 0;
let autoScrollInterval;
function scrollEverlight(direction) {
const track = document.getElementById("everlightTrack");
const items = track.children;
const itemWidth = items[0].offsetWidth + 18; // largura + gap
currentIndex += direction;
if (currentIndex < 0) currentIndex = items.length - 1;
if (currentIndex >= items.length) currentIndex = 0;
track.scrollTo({
left: itemWidth * currentIndex,
behavior: "smooth"
});
restartAutoScroll();
}
/* Auto-rolagem: anda → para → centraliza */
function startAutoScroll() {
autoScrollInterval = setInterval(() => {
scrollEverlight(1);
}, 4000); // 4 segundos (pode mudar para 3000 ou 5000)
}
function restartAutoScroll() {
clearInterval(autoScrollInterval);
startAutoScroll();
}
document.addEventListener("DOMContentLoaded", startAutoScroll);
</script>