Checks whether a user interaction happened on the given element.
It's useful when you want to change an element's state when the user makes some interactions on the given element like clicking on it, moving the mouse cursor on the surface, etc. Or the other way round, you want to change the state when the user does nothing since the latest activity happened.
$ npm i activity-loop --save
import loop from 'activity-loop'
loop(document.getElementById('video-player'), {
activity: () => showControls(),
inactivity: () => hideControls()
})
loop(el, [options])
Type: HTMLElement
required
Type: Object
Default: {}
Callback function which is invoked when the user does some interactions on the given element's surface.
Type: Function
Type: Function
Callback function which is invoked when the user does nothing since the latest activity
Type: Number
Default: 1500
Timeout value in milliseconds. For example if it's 3000, it means that inactivity
will occur if the user doesn't have any interactions within 3 seconds.
Note: the timer restarts every time when activity
happens.
If you don't need the loop instance, it's recommended to call destroy()
method to avoid memory leaks.
Whether the loop has to be paused
Type: Boolean
Default: true
Type: Object
Default: {}
You can enforce an immediate activity
event to be fired after coming back from paused mode
Type: Boolean
Default: false
The loop instance is an event emitter so you can do the following:
const l = loop(el)
l.on('activity', () => {
// do something
})
l.on('inactivity', () => {
// do something
})
For further information, read the docs.
$ npm test
$ npm run build
$ npm run build-example
Pull requests are welcome! ;)