Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

269
Visualizações
¿Cómo uso setInterval para un carrusel?

Estoy tratando de hacer que mi carrusel se reproduzca automáticamente usando la función setInterval, pero no he tenido suerte.

Intenté llamar a la función de carrusel en la función setInterval al final, pero no funciona... ¿qué hice mal?

Aquí está la caja de arena https://codesandbox.io/s/slider-7ph05?file=/src/index.js

Aquí está mi código JS:

 const slides = document.querySelectorAll(".slide"); const prevBtn = document.querySelector(".prevBtn"); const nextBtn = document.querySelector(".nextBtn"); // Inline callback function // forEach(function(element, index, array){ ... }) slides.forEach(function (slide, index) { slide.style.left = `${index * 100}%`; // console.log(slide); // console.log(index); // console.log(array); }); let count = 0; nextBtn.addEventListener("click", function () { count++; carousel(); }); prevBtn.addEventListener("click", function () { count--; carousel(); }); function carousel() { slides.forEach(function (slide) { if (count > slides.length - 1) { count = 0; } if (count < 0) { count = slides.length - 1; } slide.style.transform = `translateX(-${count * 100}%)`; // console.log(slides.length); // console.log(slide); // console.log(count); }); } setInterval(carousel, 3000);
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

No parece estar incrementando la variable de count en setInterval ni invocando la función de carousel como lo hace, cuando se presiona el botón siguiente o anterior. Actualice su setInterval para incrementar el contador e invocar la función de carousel .

 setInterval(()=>{ count++ //increment the counter carousel() //call the function }, 3000);

Su archivo de índice debería verse así:

 const slides = document.querySelectorAll(".slide"); const prevBtn = document.querySelector(".prevBtn"); const nextBtn = document.querySelector(".nextBtn"); // Inline callback function // forEach(function(element, index, array){ ... }) slides.forEach(function (slide, index) { slide.style.left = `${index * 100}%`; // console.log(slide); // console.log(index); // console.log(array); }); let count = 0; nextBtn.addEventListener("click", function () { count++; carousel(); }); prevBtn.addEventListener("click", function () { count--; carousel(); }); function carousel() { slides.forEach(function (slide) { if (count > slides.length - 1) { count = 0; } if (count < 0) { count = slides.length - 1; } slide.style.transform = `translateX(-${count * 100}%)`; // console.log(slides.length); // console.log(slide); // console.log(count); }); } setInterval(()=>{ count++ carousel() }, 3000);
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda