MazTicker
MazTicker is a scrolling ticker component that continuously animates content in a loop with configurable speed, direction, pause controls, and gradient overlays
Before use it, you should install the MazUi plugin in your project, follow instructions in Getting Started
Basic usage
Screenshots gallery
A vertical ticker with images, similar to a screenshot showcase. Uses orientation="vertical" with pause-on-hover for user-friendly browsing.
3D Screenshots showcase
Create an eye-catching 3D perspective effect with tilted vertical tickers, inspired by the Nuxt UI Marquee screenshots demo.
Orientation
Horizontal (default)
By default, the ticker will scroll horizontally.
Vertical
Otherwise, the ticker will scroll vertically.
Reverse direction
Speed control
Control the animation speed with the duration prop (in seconds). Lower values = faster.
Repeat
The repeat prop controls how many times the content is duplicated to create a seamless loop. The default value is 4. Increase it when your content is short to avoid visible gaps during the animation.
Custom gap
Overlay
Without overlay
You can disable the overlay by setting the overlay prop to false.
Custom overlay size
You can change the size of the overlay by setting the overlay-size prop to a CSS value.
Pause controls
Pause on hover
When a child element is hovered, the animation will pause.
Pause on focus
When a child element is focused, the animation will pause.
Programmatic pause
You can control the animation programmatically with the paused prop.
Custom content
MazTicker accepts any HTML content, not just text.
Slots
Before and after
Replace the default before and after slots with custom content.
Timing function
Props
| Name | Description | Type | Required | Default | Possible values |
|---|---|---|---|---|---|
| orientation | Scrolling direction | MazTickerOrientation | No | horizontal | 'horizontal' | 'vertical' |
| reverse | Reverse the scrolling direction | boolean | No | false | - |
| duration | Duration of one full animation cycle in seconds | number | No | 20 | - |
| gap | Gap between repeated content blocks (CSS value) | TSLiteralType | TSLiteralType | TSLiteralType | TSLiteralType | TSLiteralType | TSLiteralType | No | 1rem | - |
| repeat | Number of times the content is duplicated for seamless looping | number | No | 4 | - |
| pause-on-hover | Pause animation on mouse hover | boolean | No | false | - |
| pause-on-focus | Pause animation when a child element receives focus | boolean | No | false | - |
| paused | Programmatic pause control - takes precedence over pauseOnHover and pauseOnFocus | boolean | No | false | - |
| overlay | Show gradient overlays on edges to fade content in/out | boolean | No | true | - |
| overlay-size | Size of the gradient overlay zones (CSS value) | string | No | 33% | - |
| animation-timing-function | CSS animation timing function | string | No | linear | - |
Slots
| Name | Description | Bindings |
|---|---|---|
| before | Static content before the scrolling area | |
| overlay-start | Custom overlay for the start edge (left in horizontal, top in vertical). Replaces default gradient. | |
| default | Content to scroll (repeated for seamless animation) | |
| overlay-end | Custom overlay for the end edge (right in horizontal, bottom in vertical). Replaces default gradient. | |
| after | Static content after the scrolling area |