From df481624ca4c145318a19c088fce3db326dc0a64 Mon Sep 17 00:00:00 2001 From: crupest Date: Thu, 13 May 2021 16:15:10 +0800 Subject: ... --- .../src/app/utilities/useReverseScrollPositionRemember.ts | 9 +++++---- .../app/views/timeline-common/TimelinePagedPostListView.tsx | 13 ------------- 2 files changed, 5 insertions(+), 17 deletions(-) (limited to 'FrontEnd') diff --git a/FrontEnd/src/app/utilities/useReverseScrollPositionRemember.ts b/FrontEnd/src/app/utilities/useReverseScrollPositionRemember.ts index 42894c20..c381dac2 100644 --- a/FrontEnd/src/app/utilities/useReverseScrollPositionRemember.ts +++ b/FrontEnd/src/app/utilities/useReverseScrollPositionRemember.ts @@ -16,10 +16,11 @@ export function getReverseScrollPosition(): number { export function scrollToReverseScrollPosition(reversePosition: number): void { if (document.documentElement.scrollHeight <= window.innerHeight) return; - document.documentElement.scrollTop = - document.documentElement.scrollHeight - - window.innerHeight - - reversePosition; + + window.scrollTo( + 0, + document.documentElement.scrollHeight - window.innerHeight - reversePosition + ); } let scrollPosition = getReverseScrollPosition(); diff --git a/FrontEnd/src/app/views/timeline-common/TimelinePagedPostListView.tsx b/FrontEnd/src/app/views/timeline-common/TimelinePagedPostListView.tsx index 9c43434d..69fd9207 100644 --- a/FrontEnd/src/app/views/timeline-common/TimelinePagedPostListView.tsx +++ b/FrontEnd/src/app/views/timeline-common/TimelinePagedPostListView.tsx @@ -3,11 +3,6 @@ import { fromEvent } from "rxjs"; import { HttpTimelinePostInfo } from "@/http/timeline"; -import { - getReverseScrollPosition, - scrollToReverseScrollPosition, -} from "@/utilities/useReverseScrollPositionRemember"; - import TimelinePostListView from "./TimelinePostListView"; export interface TimelinePagedPostListViewProps { @@ -30,18 +25,10 @@ const TimelinePagedPostListView: React.FC = ( : posts.slice(-lastViewCount); }, [posts, lastViewCount]); - const lastScrollPosition = React.useRef(null); - React.useEffect(() => { - if (lastScrollPosition.current != null) { - scrollToReverseScrollPosition(lastScrollPosition.current); - lastScrollPosition.current = null; - } - if (lastViewCount < posts.length) { const subscription = fromEvent(window, "scroll").subscribe(() => { if (window.scrollY === 0) { - lastScrollPosition.current = getReverseScrollPosition(); setLastViewCount(lastViewCount + 10); } }); -- cgit v1.2.3