Steps easing

A steps easing creates a stepped animation that jumps between values at discrete intervals.

For JavaScript

The steps() function must be imported for the js animate():

import { animate, steps } from 'animejs';

animate(target, { x: 100, ease: steps(5) });
// Or with fromStart
animate(target, { x: 100, ease: steps(5, true) });

For WAAPI

The waapi animate() function uses the browser native steps timing function:

import { waapi } from 'animejs';

waapi.animate(target, { x: 100, ease: 'steps(5)' });
// Or with jump-start
waapi.animate(target, { x: 100, ease: 'steps(5, start)' });

Parameters

The steps function takes up to 2 parameters steps(n, fromStart):

Name Type Info
steps Number Represents the number of equal steps to divide the animation into. Must be a positive integer.
fromStart (opt) Boolean When true, the change happens at the start of each step. When false, the change happens at the end of each step (default: false).

Examples

Name Editor link
Steps start easing Open in editor
Steps end easing Open in editor

Steps easing code example

import { animate, waapi, cubicBezier } from 'animejs';

animate('.row:nth-child(1) .square', {
  x: '17rem',
  rotate: 360,
  ease: steps(4)
});

animate('.row:nth-child(2) .square', {
  x: '17rem',
  rotate: 360,
  ease: steps(4, true)
});

waapi.animate('.row:nth-child(3) .square', {
  x: '17rem',
  rotate: 360,
  ease: 'steps(8, end)'
});
<div class="medium row">
  <div class="square"></div>
  <div class="padded label">steps(4)</div>
</div>
<div class="medium row">
  <div class="square"></div>
  <div class="padded label">steps(4, true)</div>
</div>
<div class="medium row">
  <div class="square"></div>
  <div class="padded label">'steps(8, end)'</div>
</div>