1.2.0 • Published 3 years ago

number-rollup v1.2.0

Weekly downloads
17
License
MIT
Repository
github
Last release
3 years ago

number-rollup

npm bundle size npm npm npm

Demo

https://marknorrapscm.github.io/number-rollup/

Features

  • Smooth rising / falling number animations with easing options
  • VanillaJS
  • Zero dependencies
  • 1.3KB gzipped
  • No CSS; styling is under your control
  • Uses requestAnimationFrame() rather than setTimeout()
Note

Some browsers have options that implement anti-fingerprinting techniques which significantly reduce the millisecond accuracy of new Date() and performance.now(). These options are not enabled by default in Firefox (privacy.resistFingerprinting) or Chrome but, if they are, the animation won't run as smoothly.

Installation

npm install number-rollup --save

Usage

There are two ways to create animations.

Method A:

Invoke the method on an element-by-element basis.

<div id="example-1"></div>
import numberRollup from "number-rollup";

numberRollup({
	id: "example-1",
	startNumber: 0,
	endNumber: 500,
	duration: 500, // ms
	formatNumber: (s) => `£${s}`, // optional
	easing: "easeIn" 			  // optional
});

Method B:

Apply class .number-rollup to one or more target elements and use data attributes to set the options. numberRollup() will find all elements with the class and apply the animation.

<button
	class="number-rollup"
	data-number-rollup-start="100"
	data-number-rollup-end="100000"
	data-number-rollup-duration="1000"
></button>
import numberRollup from "number-rollup";

numberRollup();

Options

id: string The ID of the target element when creating a single animation.

startNumber: Number The animation will roll from this number. Must be an integer.

endNumber: Number The animation will roll to this number. Must be an integer.

duration: Number The duration of the animation in milliseconds. Must be an integer.

formatNumber: function (optional) A function that will be applied to the animated number each time before it is drawn. For example, turning 500 into $500. See the demo for a usage example.

easing: String (optional) The easing function to be applied. Defaults to linear if none specified. Available options:

  • linear
  • easeIn
  • easeOut
  • easeInQuintic
  • easeOutQuintic
  • easeInOut
1.2.0

3 years ago

1.1.0

4 years ago

1.0.5

4 years ago

1.0.4

4 years ago

1.0.3

4 years ago

1.0.2

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago