Biblioteca JavaScript para animação de números no DOM, sem dependências externas.
- JavaScript puro (sem jQuery)
- Suporte a
id,class, elemento DOM,NodeListe array de elementos - Formatação com
Intl.NumberFormat - Saída ESM e UMD (normal e minificada)
npm install @nullsablex/counter-upO pacote já inclui os arquivos prontos de dist/ (ESM, UMD e minificados).
Para usar a biblioteca, não é necessário rodar build.
Acesse a demonstração online no GitHub Pages:
https://nullsablex.github.io/counter-up/demo/
import { counterUp } from "@nullsablex/counter-up";
counterUp("#total", {
start: 0,
end: 12500.5,
duration: 1800,
decimals: 2,
prefix: "R$ ",
});import { counterUp } from "@nullsablex/counter-up";
const counters = counterUp(".metric", {
start: 0,
end: 1200,
duration: 1400,
});
counters.update([100, 250, 999]);import { counterUp } from "@nullsablex/counter-up";
counterUp(".metric", {
end: 1500,
startOnView: true,
once: true,
threshold: 0.2,
});<script src="./dist/counterup.umd.min.js"></script>
<script>
CounterUp.counterUp(".metric", { end: 5000, duration: 1500 });
</script>target: seletor CSS, elemento DOM, NodeList ou array de elementos.
options:
start(number, padrão0)end(number, padrão100)duration(number em ms, padrão2000)decimals(number, padrão0)prefix(string)suffix(string)locale(string, padrãopt-BR)useGrouping(boolean, padrãotrue)easing("linear"|"easeInOutQuad"|"easeOutCubic"| function)formatter(function)autostart(boolean, padrãotrue)startOnView(boolean, padrãofalse): inicia quando o elemento entra na viewportonce(boolean, padrãotrue): comstartOnView, anima apenas uma vezroot(Element|null, padrãonull): root doIntersectionObserverrootMargin(string, padrão"0px"): margem doIntersectionObserverthreshold(number|number[], padrão0.1): threshold doIntersectionObserveronUpdate(function)onComplete(function)
formatter, onUpdate e onComplete recebem: (value, element, index).
Métodos: start() (inicia ou retoma se pausado), pause(), resume(), stop(), reset(), set(value), update(nextEnd, nextOptions?), destroy()
Getters: value, running, paused
Métodos: start(), pause(), resume(), stop(), reset(), set(value|array), update(nextEnd|array, nextOptions?), destroy()
Getters: values, running, paused, count
npm run buildArquivos gerados em dist/:
counterup.esm.jscounterup.esm.min.jscounterup.umd.jscounterup.umd.min.js
Workflows configurados em .github/workflows/:
ci.yml: validação em push/PR (npm ci,npm run build,npm pack --dry-run)dependency-review.yml: revisão de dependências em PRcodeql.yml: análise estática de segurança (CodeQL)release.yml: publicação automática no npm via tagv*.*.*welcome.yml: mensagem automática de boas-vindas para primeira issue/PR
- Autor:
NullSablex - Repositório:
https://github.com/NullSablex/counter-up
MIT. Consulte LICENSE.
Veja CONTRIBUTING.md.
Veja CODE_OF_CONDUCT.md.
Veja CHANGELOG.md.