123456789101112131415161718192021222324252627282930313233343536 |
- /**
- * requestAnimationFrame polyfill
- */
- import { isServer } from '..';
- var prev = Date.now();
- /* istanbul ignore next */
- function fallback(fn) {
- var curr = Date.now();
- var ms = Math.max(0, 16 - (curr - prev));
- var id = setTimeout(fn, ms);
- prev = curr + ms;
- return id;
- }
- /* istanbul ignore next */
- var root = isServer ? global : window;
- /* istanbul ignore next */
- var iRaf = root.requestAnimationFrame || fallback;
- /* istanbul ignore next */
- var iCancel = root.cancelAnimationFrame || root.clearTimeout;
- export function raf(fn) {
- return iRaf.call(root, fn);
- } // double raf for animation
- export function doubleRaf(fn) {
- raf(function () {
- raf(fn);
- });
- }
- export function cancelRaf(id) {
- iCancel.call(root, id);
- }
|