mirror of
https://github.com/elyby/accounts-frontend.git
synced 2024-12-28 16:00:24 +05:30
#131:s scroll to anchor considering header height
This commit is contained in:
parent
02a18aee13
commit
664a3a6de7
12
src/index.js
12
src/index.js
@ -53,6 +53,7 @@ userFactory(store)
|
||||
|
||||
});
|
||||
|
||||
const SCROLL_ANCHOR_OFFSET = 80; // 50 + 30 (header height + some spacing)
|
||||
/**
|
||||
* Scrolls to page's top or #anchor link, if any
|
||||
*/
|
||||
@ -63,11 +64,16 @@ function restoreScroll() {
|
||||
setTimeout(() => {
|
||||
const id = hash.replace('#', '');
|
||||
const el = id ? document.getElementById(id) : null;
|
||||
|
||||
let y = 0;
|
||||
if (el) {
|
||||
el.scrollIntoView();
|
||||
} else {
|
||||
window.scrollTo(0, 0);
|
||||
const {scrollTop} = document.body;
|
||||
const {top} = el.getBoundingClientRect();
|
||||
|
||||
y = scrollTop + top - SCROLL_ANCHOR_OFFSET;
|
||||
}
|
||||
|
||||
window.scrollTo(0, y);
|
||||
}, 100);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user