2022-09-29 14:40:11 +00:00
|
|
|
const scrollPosition = {
|
|
|
|
top: 0,
|
2023-11-14 15:10:00 +00:00
|
|
|
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,
|
2023-11-14 15:10:00 +00:00
|
|
|
left: scrollPosition.left,
|
2022-09-29 14:40:11 +00:00
|
|
|
})
|
|
|
|
}
|
2022-11-19 08:16:00 +00:00
|
|
|
|
2022-12-01 18:45:35 +00:00
|
|
|
export const scrollHandler = (elemId: string, offset = -100) => {
|
2022-11-19 08:16:00 +00:00
|
|
|
const anchor = document.querySelector('#' + elemId)
|
2022-12-01 18:45:35 +00:00
|
|
|
|
2022-11-19 08:16:00 +00:00
|
|
|
if (anchor) {
|
|
|
|
window.scrollTo({
|
2022-12-01 18:45:35 +00:00
|
|
|
top: anchor.getBoundingClientRect().top + offset,
|
2023-11-14 15:10:00 +00:00
|
|
|
behavior: 'smooth',
|
2022-11-19 08:16:00 +00:00
|
|
|
})
|
|
|
|
}
|
|
|
|
}
|