Skip to content

Instantly share code, notes, and snippets.

@sebbdk
Last active September 3, 2019 09:28
Show Gist options
  • Save sebbdk/a2e9d52c95f52d61f0d6ba6a5b297a6e to your computer and use it in GitHub Desktop.
Save sebbdk/a2e9d52c95f52d61f0d6ba6a5b297a6e to your computer and use it in GitHub Desktop.
Javascript - scrollTo()
function scrollTo({ element = window, top = 0, left = 0, behavior = 'smooth' }) {
return new Promise((res) => {
const onScroll = function() {
// @ts-ignore
const scrollTop = element.scrollTop
if (scrollTop === top) {
element.removeEventListener('scroll', onScroll)
res();
}
}
element.addEventListener('scroll', onScroll)
onScroll();
element.scrollTo({
top,
left,
// @ts-ignore
behavior
})
});
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment