You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
34 lines
1.2 KiB
34 lines
1.2 KiB
import { AnimationFrameAction } from './AnimationFrameAction'; |
|
import { AnimationFrameScheduler } from './AnimationFrameScheduler'; |
|
/** |
|
* |
|
* Animation Frame Scheduler |
|
* |
|
* <span class="informal">Perform task when `window.requestAnimationFrame` would fire</span> |
|
* |
|
* When `animationFrame` scheduler is used with delay, it will fall back to {@link async} scheduler |
|
* behaviour. |
|
* |
|
* Without delay, `animationFrame` scheduler can be used to create smooth browser animations. |
|
* It makes sure scheduled task will happen just before next browser content repaint, |
|
* thus performing animations as efficiently as possible. |
|
* |
|
* @example <caption>Schedule div height animation</caption> |
|
* const div = document.querySelector('.some-div'); |
|
* |
|
* Rx.Scheduler.schedule(function(height) { |
|
* div.style.height = height + "px"; |
|
* |
|
* this.schedule(height + 1); // `this` references currently executing Action, |
|
* // which we reschedule with new state |
|
* }, 0, 0); |
|
* |
|
* // You will see .some-div element growing in height |
|
* |
|
* |
|
* @static true |
|
* @name animationFrame |
|
* @owner Scheduler |
|
*/ |
|
export const animationFrame = new AnimationFrameScheduler(AnimationFrameAction); |
|
//# sourceMappingURL=animationFrame.js.map
|