webapp/src/utils/scroll.ts

28 lines
556 B
TypeScript
Raw Normal View History

2022-09-29 14:40:11 +00:00
const scrollPosition = {
top: 0,
left: 0,
2022-09-29 14:40:11 +00:00
}
export const saveScrollPosition = () => {
scrollPosition.top = window.scrollY
scrollPosition.left = window.scrollX
}
export const restoreScrollPosition = () => {
window.scroll({
top: scrollPosition.top,
left: scrollPosition.left,
2022-09-29 14:40:11 +00:00
})
}
2022-11-19 08:16:00 +00:00
export const scrollHandler = (elemId: string, offset = -100) => {
2022-11-19 08:16:00 +00:00
const anchor = document.querySelector('#' + elemId)
2022-11-19 08:16:00 +00:00
if (anchor) {
window.scrollTo({
top: anchor.getBoundingClientRect().top + offset,
behavior: 'smooth',
2022-11-19 08:16:00 +00:00
})
}
}