mirror of
https://github.com/elyby/accounts-frontend.git
synced 2024-12-27 23:40:28 +05:30
Fix scrollTo function: targetEl is now has priority on location hash
This commit is contained in:
parent
cb00d0c712
commit
fe9de056df
@ -106,24 +106,27 @@ function normalizeScrollPosition(y: number): number {
|
||||
* @param {?HTMLElement} targetEl - the element to scroll to
|
||||
*/
|
||||
export function restoreScroll(targetEl: ?HTMLElement = null) {
|
||||
const {hash} = location;
|
||||
|
||||
const { hash } = window.location;
|
||||
setTimeout(() => {
|
||||
isFirstScroll = false;
|
||||
const id = hash.replace('#', '');
|
||||
const el = id ? document.getElementById(id) : targetEl;
|
||||
const viewPort = document.body;
|
||||
if (targetEl === null) {
|
||||
const id = hash.substr(1);
|
||||
if (!id) {
|
||||
return;
|
||||
}
|
||||
|
||||
targetEl = document.getElementById(id);
|
||||
}
|
||||
|
||||
const viewPort = document.body;
|
||||
if (!viewPort) {
|
||||
console.log('Can not find viewPort element'); // eslint-disable-line
|
||||
return;
|
||||
}
|
||||
|
||||
let y = 0;
|
||||
|
||||
if (el) {
|
||||
const {top} = el.getBoundingClientRect();
|
||||
|
||||
if (targetEl) {
|
||||
const { top } = targetEl.getBoundingClientRect();
|
||||
y = getScrollTop() + top - SCROLL_ANCHOR_OFFSET;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user