All packages
Animation v1.2.0

@synqro/infinite-logo

Seamless infinite scroll banner for logos, text or any content.

Clones the content, positions it on a seamless loop and animates with CSS transforms. Waits for all images to load before measuring, so speed is consistent across screen sizes.

Install Paste in Project Settings → Custom Code → Footer
HTML
<!-- [Synqro Labs] Infinite Logo -->
<script src="https://cdn.jsdelivr.net/npm/@synqro/infinite-logo@1/dist/index.min.js"></script>

Installation

  1. 1
    Add the script to your Webflow project. Go to Project Settings → Custom Code → Footer Code and paste the snippet above.
  2. 2
    Add the custom attributes to the relevant elements in the Webflow designer — see the table below.
  3. 3
    Publish your site. The script initializes automatically on DOMContentLoaded.

Configuration

Select the element in the Webflow designer and add these custom attributes under the Element Settings panel.

Attribute Value Description
Required
infinite-logo Activates the infinite scroll on the container.
30 Seconds to scroll 1000px of content. Same visual speed on desktop and mobile.
left | right Scroll direction. Default: left.
true | play true: pause on hover. play: paused by default, scrolls only while hovered, and resets to the start when the cursor leaves.
20px, 2rem, etc. Spacing between items.

Examples

Logos banner

HTML
<div class="banner-container" style="overflow: hidden">
    <div
        class="banner-list"
        sl-banner-list="infinite-logo"
        sl-banner-speed="20"
        sl-banner-gap="40px"
        style="display: flex"
    >
        <img src="logo1.png" alt="Logo 1" />
        <img src="logo2.png" alt="Logo 2" />
        <img src="logo3.png" alt="Logo 3" />
    </div>
</div>

Reverse direction with hover pause

HTML
<div class="banner-list"
    sl-banner-list="infinite-logo"
    sl-banner-direction="right"
    sl-banner-hover="true"
>
    ...
</div>

Play only on hover (paused by default)

HTML
<div class="banner-list"
    sl-banner-list="infinite-logo"
    sl-banner-hover="play"
>
    ...
</div>

Tips & notes

  • The parent container should have overflow: hidden.
  • The list (with sl-banner-list) should be display: flex.
  • Higher sl-banner-speed value = slower scroll.
  • sl-banner-hover="play" keeps the banner still until hovered, then resets to the start when the cursor leaves.