proyecto vantag.es proyecto turnerja.com proyecto legalzone.es
Inicio Recursos Blog Contacto

Slider con texto

Este recurso permite crear un banner con texto que se desliza de forma infinita, ideal para mostrar promociones o mensajes destacados.

<style>
  #slider {
      overflow: hidden;
      background-color: #363636;
      color: #fff;
      font-size: 22px;
      padding: 10px;
  }

  #slider p {
      margin: 0;
      display: inline-block;
      white-space: nowrap;
  }
</style>

<section>
    <div id="slider">
        <p>slider infinito web</p>
    </div>
</section>

<script>
    function createInfiniteScroll(containerId, repetitions = 20) {
        const container = document.getElementById(containerId);
        const textElement = container.querySelector("p");
        const originalText = textElement.textContent;

        textElement.textContent = Array(repetitions).fill(originalText).join(" ");

        let scrollPosition = 0;

        function scroll() {
            scrollPosition -= 0.4; // AJUSTAR LA VELOCIDAD
            if (Math.abs(scrollPosition) >= textElement.offsetWidth / repetitions) {
                scrollPosition = 0;
            }
            textElement.style.transform = `translateX(${scrollPosition}px)`;
            requestAnimationFrame(scroll);
        }

        scroll();
    }

    createInfiniteScroll("slider", 20);
</script>