Skip to content

Instantly share code, notes, and snippets.

@krutoo
Forked from gre/scrollparent.js
Last active July 8, 2020 04:57
Show Gist options
  • Save krutoo/4b2c6c81be872fee2a4a3b640373e519 to your computer and use it in GitHub Desktop.
Save krutoo/4b2c6c81be872fee2a4a3b640373e519 to your computer and use it in GitHub Desktop.
get first parent scrollable container of a DOM element
// more minimal version of https://github.com/olahol/scrollparent.js/blob/master/scrollparent.js
const regex = /(auto|scroll)/;
const isScrollable = element => {
let result = false;
if (element) {
const styles = getComputedStyle(element);
result = regex.test(styles.overflow + styles.overflowX + styles.overflowY);
}
return result;
}
const getScrollParent = element => !element || element === document.body
? document.body
: isScrollable(element.parentElement)
? element.parentElement
: getScrollParent(element.parentElement);
export { getScrollParent };
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment