Marquee Components

Two variants available: Static marquee with pause-on-hover, or interactive marquee with click-and-drag control. Both feature seamless infinite loop animation.

Database Connected

⏸️ Static Marquee

CSS Only Pause on Hover

Pure CSS implementation with zero dependencies. Automatically scrolls and pauses when users hover to read content. Lightweight and performant.

Testimonials Marquee

Default Speed

Showcase customer reviews with an elegant scrolling animation. Hover to pause and read the testimonials.

πŸ‘©β€πŸ’Ό

"These components saved us weeks of development time. Absolutely brilliant!"

Sarah Chen Product Designer at TechCorp
πŸ‘¨β€πŸ’»

"Clean, performant, and beautifully designed. Exactly what we needed."

James Rodriguez Engineering Lead at StartupXYZ
πŸ‘©β€πŸŽ¨

"The TypeScript support and documentation are top-notch. Highly recommend!"

Emily Watson Frontend Developer at DesignStudio
πŸ‘¨β€πŸ’Ό

"Production-ready components that just work. Our team loves them!"

Michael Park CTO at InnovateLabs
πŸ‘©β€πŸ”¬

"Responsive, accessible, and easy to customise. Perfect for our projects."

Lisa Thompson UI Engineer at CloudSystems
πŸ‘©β€πŸ’Ό

"These components saved us weeks of development time. Absolutely brilliant!"

Sarah Chen Product Designer at TechCorp
πŸ‘¨β€πŸ’»

"Clean, performant, and beautifully designed. Exactly what we needed."

James Rodriguez Engineering Lead at StartupXYZ
πŸ‘©β€πŸŽ¨

"The TypeScript support and documentation are top-notch. Highly recommend!"

Emily Watson Frontend Developer at DesignStudio
πŸ‘¨β€πŸ’Ό

"Production-ready components that just work. Our team loves them!"

Michael Park CTO at InnovateLabs
πŸ‘©β€πŸ”¬

"Responsive, accessible, and easy to customise. Perfect for our projects."

Lisa Thompson UI Engineer at CloudSystems
πŸ‘©β€πŸ’Ό

"These components saved us weeks of development time. Absolutely brilliant!"

Sarah Chen Product Designer at TechCorp
πŸ‘¨β€πŸ’»

"Clean, performant, and beautifully designed. Exactly what we needed."

James Rodriguez Engineering Lead at StartupXYZ
πŸ‘©β€πŸŽ¨

"The TypeScript support and documentation are top-notch. Highly recommend!"

Emily Watson Frontend Developer at DesignStudio
πŸ‘¨β€πŸ’Ό

"Production-ready components that just work. Our team loves them!"

Michael Park CTO at InnovateLabs
πŸ‘©β€πŸ”¬

"Responsive, accessible, and easy to customise. Perfect for our projects."

Lisa Thompson UI Engineer at CloudSystems
πŸ‘©β€πŸ’Ό

"These components saved us weeks of development time. Absolutely brilliant!"

Sarah Chen Product Designer at TechCorp
πŸ‘¨β€πŸ’»

"Clean, performant, and beautifully designed. Exactly what we needed."

James Rodriguez Engineering Lead at StartupXYZ
πŸ‘©β€πŸŽ¨

"The TypeScript support and documentation are top-notch. Highly recommend!"

Emily Watson Frontend Developer at DesignStudio
πŸ‘¨β€πŸ’Ό

"Production-ready components that just work. Our team loves them!"

Michael Park CTO at InnovateLabs
πŸ‘©β€πŸ”¬

"Responsive, accessible, and easy to customise. Perfect for our projects."

Lisa Thompson UI Engineer at CloudSystems
View Code Example
<script>
  import Marquee from '$lib/components/Marquee.svelte';

  const testimonials = [
    {
      name: 'Sarah Chen',
      quote: 'Amazing components!',
      role: 'Designer'
    },
    // ... more testimonials
  ];
</script>

<Marquee pauseOnHover={true} duration={60}>
  {#each testimonials as testimonial}
    <div class="testimonial-card">
      <p>{testimonial.quote}</p>
      <strong>{testimonial.name}</strong>
    </div>
  {/each}
</Marquee>

Company Logos

Fast

Display partner logos or brand names with a faster scrolling speed. Clean and minimal presentation.

πŸš€ SpaceX
🍎 Apple
πŸ” Google
πŸ’Ό Microsoft
⚑ Tesla
🎡 Spotify
πŸš€ SpaceX
🍎 Apple
πŸ” Google
πŸ’Ό Microsoft
⚑ Tesla
🎡 Spotify
πŸš€ SpaceX
🍎 Apple
πŸ” Google
πŸ’Ό Microsoft
⚑ Tesla
🎡 Spotify
πŸš€ SpaceX
🍎 Apple
πŸ” Google
πŸ’Ό Microsoft
⚑ Tesla
🎡 Spotify
View Code Example
<Marquee pauseOnHover={true} duration={20}>
  {#each companies as company}
    <div class="logo-card">{company}</div>
  {/each}
</Marquee>

Features Banner

Reverse Direction

Scrolling from right to left with feature badges. Demonstrates direction customisation.

⚑ Lightning Fast
πŸ“± Mobile Responsive
β™Ώ Fully Accessible
🎨 Customisable
πŸš€ Zero Dependencies
πŸ“ TypeScript Support
⚑ Lightning Fast
πŸ“± Mobile Responsive
β™Ώ Fully Accessible
🎨 Customisable
πŸš€ Zero Dependencies
πŸ“ TypeScript Support
⚑ Lightning Fast
πŸ“± Mobile Responsive
β™Ώ Fully Accessible
🎨 Customisable
πŸš€ Zero Dependencies
πŸ“ TypeScript Support
⚑ Lightning Fast
πŸ“± Mobile Responsive
β™Ώ Fully Accessible
🎨 Customisable
πŸš€ Zero Dependencies
πŸ“ TypeScript Support
View Code Example
<Marquee pauseOnHover={true} reverse={true} duration={40}>
  {#each features as feature}
    <div class="feature-badge">{feature}</div>
  {/each}
</Marquee>

πŸ‘† Interactive Marquee

Click & Drag Momentum

Click-and-drag control with momentum scrolling. Built with pure Svelte and native DOM APIs for smooth physics-based animations. Users can control speed and direction by dragging.

Product Showcase

Interactive

Drag left or right to browse products at your own pace. Release to continue scrolling in that direction.

View Code Example
<script>
  import MarqueeDraggable from '$lib/components/MarqueeDraggable.svelte';

  const products = [
    { emoji: '⌚', name: 'Smartwatch' },
    { emoji: '🎧', name: 'Headphones' },
    // ... more products
  ];
</script>

<MarqueeDraggable duration={30} dragMomentum={true}>
  {#each products as product}
    <div class="product-card">
      <div class="product-emoji">{product.emoji}</div>
      <p class="product-name">{product.name}</p>
    </div>
  {/each}
</MarqueeDraggable>

Customer Testimonials

Slow Scroll

Drag to pause and read testimonials. Slower animation speed for better readability.

View Code Example
<MarqueeDraggable duration={50} dragMomentum={true}>
  {#each testimonials as testimonial}
    <div class="testimonial-card">
      <div class="avatar">{testimonial.avatar}</div>
      <p class="quote">"{testimonial.quote}"</p>
      <div class="author">
        <strong>{testimonial.name}</strong>
        <span class="role">{testimonial.role}</span>
      </div>
    </div>
  {/each}
</MarqueeDraggable>

Features Banner

Fast Scroll

Fast-scrolling feature badges. Starts scrolling right, drag to change direction.

View Code Example
<MarqueeDraggable duration={20} reverse={true} dragMomentum={true}>
  {#each features as feature}
    <div class="feature-badge">{feature}</div>
  {/each}
</MarqueeDraggable>

Choosing the Right Variant

⏸️ Static Marquee

  • Dependencies: Zero - pure CSS
  • Interaction: Pause on hover
  • Performance: Extremely lightweight
  • Best for: Simple scrolling content, logos, testimonials
  • File size: ~2KB

πŸ‘† Interactive Marquee

  • Dependencies: None - pure Svelte
  • Interaction: Click-and-drag control with momentum
  • Performance: GPU-accelerated with requestAnimationFrame
  • Best for: Product showcases, interactive galleries
  • File size: ~8KB

Features

πŸ”„

Infinite Loop

Seamless continuous scrolling with perfect loop animation

⏸️

Pause on Hover

Static variant pauses when users hover to read content

πŸ‘†

Click & Drag

Interactive variant lets users control speed and direction by dragging

↔️

Direction Control

Scroll left or right with the reverse prop

⚑

Configurable Speed

Adjust scrolling speed with duration prop

πŸš€

GPU Accelerated

Smooth 60fps animation using CSS transforms

Quick Start Guide

1

Choose Your Variant

Use Marquee.svelte for simple hover-to-pause functionality, or MarqueeDraggable.svelte for interactive click-and-drag control.

2

Copy the Component

Copy your chosen component from src/lib/components/ to your project. Both components are pure Svelte with no external dependencies required.

3

Configure & Use

Both components accept duration and reverse props. Static marquee has pauseOnHover, Interactive has dragEnabled and dragMomentum.