33 lines
703 B
Markdown
33 lines
703 B
Markdown
---
|
|
title: onScrollStop
|
|
tags: browser,event,intermediate
|
|
---
|
|
|
|
Runs the callback whenever the user has stopped scrolling.
|
|
|
|
- Use `EventTarget.addEventListener()` to listen for the `'scroll'` event.
|
|
- Use `setTimeout()` to wait `150` ms until calling the given `callback`.
|
|
- Use `clearTimeout()` to clear the timeout if a new `'scroll'` event is fired in under `150` ms.
|
|
|
|
```js
|
|
const onScrollStop = callback => {
|
|
let isScrolling;
|
|
window.addEventListener(
|
|
'scroll',
|
|
e => {
|
|
clearTimeout(isScrolling);
|
|
isScrolling = setTimeout(() => {
|
|
callback();
|
|
}, 150);
|
|
},
|
|
false
|
|
);
|
|
};
|
|
```
|
|
|
|
```js
|
|
onScrollStop(() => {
|
|
console.log('The user has stopped scrolling');
|
|
});
|
|
```
|