simple_animation_loop
v1.0.2
Published
simple rAF wrapper to queue multiple animations
Downloads
4
Maintainers
Readme
Simple Animation Loop
Simple rAF wrapper to queue animations. This also provides a basic reimplementation of browser timer functions (setInterval
and setTimeout
) to prevent timers from affecting animation performance.
installation:
npm install --save simple_animation_loop
Documentation:
AnimationLoop
AnimationLoop
Kind: global class
- AnimationLoop
- new AnimationLoop()
- .start() ⇒ AnimationLoop
- .stop() ⇒ AnimationLoop
- .addAnimation(animation) ⇒ function
- .removeAnimation(animation) ⇒ undefined
- .setAnimationTimeout(animation, delay) ⇒ function
- .setAnimationInterval(animation, delay) ⇒ function
new AnimationLoop()
The animation loop provides a wrapper for requestAnimationFrame and a reimplementation of browser timers. It can schedule multiple callbacks and help maximize performance for in browser animations.
animationLoop.start() ⇒ AnimationLoop
Starts the main animation loop and prevents multiple updates to requestAnimationFrame.
Kind: instance method of AnimationLoop
Returns: AnimationLoop - this
animationLoop.stop() ⇒ AnimationLoop
Stops the main animation loop by calling cancelAnimationFrame.
Kind: instance method of AnimationLoop
Returns: AnimationLoop - this
animationLoop.addAnimation(animation) ⇒ function
Adds a callback to the update loop and prevents the same callback from being added twice.
Kind: instance method of AnimationLoop
Returns: function - animation - callback passed in
| Param | Type | Description | | --- | --- | --- | | animation | function | callback that will be added to the main update loop. |
animationLoop.removeAnimation(animation) ⇒ undefined
Removes a callback from the current update loop and next scheduled loop.
Kind: instance method of AnimationLoop
Returns: undefined - undefined
| Param | Type | Description | | --- | --- | --- | | animation | function | callback that will be added to the main update loop. |
animationLoop.setAnimationTimeout(animation, delay) ⇒ function
Mimics browser's setTimeout basic functionality. Prevents browser timer from
degrading performance of the main update loop. It is recommended to use this over
setTimeout after .start()
has been called.
Kind: instance method of AnimationLoop
Returns: function - timeout callback - returned so it can be canceled via removeAnimation()
| Param | Type | Description | | --- | --- | --- | | animation | function | A function to be executed after the timer expires. | | delay | Number | The time, in milliseconds (thousandths of a second), the timer should wait before the specified function is executed. |
animationLoop.setAnimationInterval(animation, delay) ⇒ function
Mimics browser's setInterval basic functionality. Prevents browser timer from
degrading performance of the main update loop. It is recommended to use this over
setInternal after .start()
has been called.
Kind: instance method of AnimationLoop
Returns: function - interval callback - returned so it can be canceled via removeAnimation()
| Param | Type | Description |
| --- | --- | --- |
| animation | function | A function to be executed every delay
milliseconds. |
| delay | Number | The time, in milliseconds (thousandths of a second), the timer should delay in between executions of the specified function. |
examples of usage:
Please submit any issues via GitHub.
@morgantheplant