Scroll Animations & Parallax Sections

Count-Up Stats on Scroll

A full-viewport section with a parallax background image and four stat cards laid out in a horizontal grid. When the section scrolls into view, each stat's number counts up from zero to its target value with an ease-out animation, staggered slightly per stat. Built for product launch pages, press sections, and impact pages.

Live preview

Loading preview

Requires framer-motion. React 18+ and Tailwind CSS v3+ assumed. Save as CountUpStatsScroll.tsx.

Or rebuild it with a prompt

Paste the prompt into the tool you already use. Each version is written specifically for that tool, matched to the same design constraints so the output stays consistent.

Build components/CountUpStatsScroll.tsx. Full-viewport section with a parallax background image (framer-motion useScroll + useTransform, y from -15% to 15%) and a black/55 overlay. Grid of stats (default four) positioned centrally. Each stat card has a left border (border-white/20) and shows a large number that counts up from 0 to its target value when the card enters the viewport (framer-motion useInView, once: true, amount: 0.5). The count-up uses a requestAnimationFrame loop with ease-out quad easing over 1400ms, staggered 80ms per card index. The number is followed by a suffix string (e.g. "+" or "M"). Below the number: a 13px white/65 label. Cards animate in with opacity 0 to 1 and y 20 to 0. Respect prefers-reduced-motion (skip count-up, show final values). Props: stats: StatItem[] ({ value, suffix, label }), eyebrow, backgroundImage. Export StatItem type. Single default export.

How to use this Count-Up Stats on Scroll as a prompt

  1. Paste the prompt into Claude Code, Cursor, or Google Stitch to build a Count-Up Stats on Scroll section where React stat numbers animate from zero on viewport entry.
  2. Best for product landing pages, press sections, and impact pages where the numbers are the headline.
  3. Ask Codex or Lovable to change the easing curve, adjust the stagger delay, or wire the stats prop to a CMS.

How to use this Count-Up Stats on Scroll as code

  1. Drop the React + Tailwind file into `components/sections/` and pass a stats array of { value, suffix, label } objects.
  2. Uses framer-motion useInView to trigger the count-up and a requestAnimationFrame loop with ease-out quad for the number animation. Reduced-motion users see the final values immediately.
  3. Compatible with Next.js App Router, Astro, and Vite React. No global CSS required.

Other React parallax and scroll animation components like the Count-Up Stats on Scroll

More parallax and scroll animation components with matching AI prompts for Claude Code, Cursor, Codex, Lovable, Replit, and Google Stitch.

Related prompts for scroll animations & parallax sections

Frequently asked questions about the Count-Up Stats on Scroll

How do I add a Count-Up Stats on Scroll to my website?+

Copy the source code from the "Copy code" button above and save it as a .tsx file in your components folder. The Count-Up Stats on Scroll is built with React, Tailwind CSS, and Framer Motion — add those as dependencies if they are not already in your project. Import and render the component wherever you need it. Every prop is optional and typed.

Can I use the Count-Up Stats on Scroll with Claude Code, Cursor, or Lovable?+

Yes. Each prompt tab above is tuned specifically for Claude Code, Cursor, Codex, Lovable, Replit, and Google Stitch. Paste the prompt into whichever AI coding tool you are using and it will generate a Count-Up Stats on Scroll matched to your existing file structure, design tokens, and brand color. Claude Code and Cursor work best when your project is already open — they slot the component directly into your codebase. Lovable and Replit are fastest for a standalone preview.

How do I customise the stats design and colors?+

The Count-Up Stats on Scroll uses Tailwind utility classes throughout, so every color, spacing value, and font weight is one class away from changing. Replace any color class with your brand token (for example, swap `bg-black` for `bg-[#your-hex]`). To change the animation timing, update the `duration-` or `delay-` classes, or pass new values into the Framer Motion `transition` prop if the component uses it. For a full brand restyle, paste the component into Claude Code or Cursor and describe your design system.

Is the Count-Up Stats on Scroll free to use in commercial projects?+

Yes. Every component in the AI Library, including the Count-Up Stats on Scroll, is free to copy, adapt, and ship in commercial projects, client work, SaaS products, open-source repos, and internal tools. No attribution required, no license fee, no royalty.

What count-up frameworks does the Count-Up Stats on Scroll support?+

The Count-Up Stats on Scroll is a plain React 18 client component written in React + Framer Motion + Tailwind. It runs on Next.js (App Router and Pages Router), Vite, Remix, Gatsby, and any other framework that supports React 18 and Tailwind CSS v3. Keep the "use client" directive at the top of the file when you paste it into a Next.js App Router project.

Does the Count-Up Stats on Scroll work with TypeScript?+

Yes. The component is written in TypeScript with fully typed props and exported interfaces. Paste it into a TypeScript project and it compiles without modification. If you need a plain JavaScript version, ask Claude Code or Cursor to strip the type annotations.

Can I combine the Count-Up Stats on Scroll with other AI Library sections?+

Yes. Every component in the AI Library is standalone with no shared global state, no conflicting resets, and no namespace collisions. Drop the Count-Up Stats on Scroll alongside any other section component. They are compatible with shadcn/ui, Radix UI, MUI, and any other component library you are already using.