#161 Better scroll behaviour

This commit is contained in:
Serraniel 2021-02-08 19:36:48 +01:00
parent 6ab597924e
commit 6c0a197c83
Signed by: Serraniel
GPG key ID: 3690B4E7364525D3

View file

@ -17,13 +17,15 @@ export function init(): void {
function observeSearchResults(searchRes: Element): void {
let observer = new MutationObserver(mutations => {
mutations.forEach(mutation => {
let scrollTarget = searchRes.querySelector('.ep-view md-list-item:not(.animelist-completed)');
let scrollTarget = searchRes.querySelector('.ep-view md-list-item:not(.animelist-completed)') as HTMLElement;
if (assigned(scrollTarget)) {
scrollTarget.scrollIntoView();
// scroll container to episode first
searchRes.scrollTop = scrollTarget.offsetTop;
// then scroll page to episode if neccessarry
scrollTarget.scrollIntoView({ behavior: "smooth", block: "nearest" });
}
});
});
observer.observe(searchRes, {
childList: true,
@ -31,11 +33,6 @@ function observeSearchResults(searchRes: Element): void {
});
}
function scrollTo(el: Element, pos: number): void {
let offset: number = 24;
el.scrollTo(0, pos * 72 + offset)
}
function findSearchResults(): Element {
let searchResults = document.getElementsByClassName('search-results');
if (searchResults[0] instanceof Element) {