Infinite Marquee
Seamless infinite-scrolling ticker with pause-on-hover and variable speed.
npx uniqueui add infinite-marquee
Preview
React
Next.js
TypeScript
Tailwind
Motion
UniqueUI
Vercel
Node.js
React
Next.js
TypeScript
Tailwind
Motion
UniqueUI
Vercel
Node.js
⚡ Fast
🎨 Beautiful
♿ Accessible
📱 Responsive
🔧 Customizable
🚀 Production Ready
⚡ Fast
🎨 Beautiful
♿ Accessible
📱 Responsive
🔧 Customizable
🚀 Production Ready
Usage
import { InfiniteMarquee, MarqueeItem } from "@/components/ui/infinite-marquee";
export default function Example() {
return (
<div className="space-y-6 w-full p-10 overflow-hidden">
<InfiniteMarquee speed={30}>
{[
"React",
"Next.js",
"TypeScript",
"Tailwind",
"Motion",
"UniqueUI",
"Vercel",
"Node.js",
].map((item) => (
<MarqueeItem key={item}>
<span className="text-sm font-medium text-neutral-300">{item}</span>
</MarqueeItem>
))}
</InfiniteMarquee>
<InfiniteMarquee speed={20} direction="right">
{[
"⚡ Fast",
"🎨 Beautiful",
"♿ Accessible",
"📱 Responsive",
"🔧 Customizable",
"🚀 Production Ready",
].map((item) => (
<MarqueeItem key={item} className="bg-purple-950/30 border-purple-800/50">
<span className="text-sm font-medium text-purple-300">{item}</span>
</MarqueeItem>
))}
</InfiniteMarquee>
</div>
);
}Props
| Prop | Type | Description |
|---|---|---|
children | React.ReactNode | Individual cards, images, or elements you want scrolling seamlessly. |
className | string | Styling classes mapping to the outer tracking viewport. |
speed | number | Scrolling velocity, representing translation pixels per second. |
direction | "left" | "right" | Horizontal (left/right) scroll direction. |
pauseOnHover | boolean | Temporarily pause the animation sequence when a user points at the element. |
gap | number | Consistent spacing separating each repeated instance loop. |