Library for working with time and animations based on requestAnimationFrame
$ npm install --save instant-time
import inTime from 'instant-time'
inTime.Delay(handler: (timePassed: number) => void, delay?: number): number
inTime.Interval(handler: (timePassed: number) => (void | boolean), duration?: number): number
inTime.Animate(handler: (timePassed?: number) => void, duration?: number): number
inTime.Cancel(frameID?: number): void
inTime.Delay( () => {
//Deferred function execution via 2000 milliseconds
alert( 'after two seconds' )
}, 2000 )
inTime.Interval( () => {
//Deferred function execution via every 2000 milliseconds
alert( 'every two seconds' )
}, 2000 )
document.body.innerHTML = '<div id="rotate-block" style="width: 100px; height: 100px; background: #000000; position: relative"></div>'
inTime.Animate( (timePassed) => {
//Moves the block to the left for two seconds
document.getElementById('rotate-block').style.left = timePassed / 5 + 'px';
}, 2000 )
const alertHelloId = inTime.Interval( () => {
alert( 'hello' )
}, 2000 )
inTime.Delay( () => {
//Will turn off the interval after 6 seconds
inTime.Cancel(alertHelloId)
}, 6000 )
MIT © LETWOLF, LTD