From 82655981ecf576ece096bf259d4242007efe5ed7 Mon Sep 17 00:00:00 2001 From: MathMan05 Date: Sat, 17 Aug 2024 21:13:30 -0500 Subject: [PATCH] resize observe update --- .dist/infiniteScroller.js | 12 +++++++++++- webpage/infiniteScroller.ts | 12 +++++++++++- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/.dist/infiniteScroller.js b/.dist/infiniteScroller.js index aa0cfa7..cfeeb0d 100644 --- a/.dist/infiniteScroller.js +++ b/.dist/infiniteScroller.js @@ -26,7 +26,17 @@ class InfiniteScroller { this.interval = setInterval(this.updatestuff.bind(this), 100); this.scroll = scroll; this.scroll.addEventListener("scroll", this.watchForChange.bind(this)); - new ResizeObserver(this.watchForChange.bind(this)).observe(div); + { + let oldheight = 0; + new ResizeObserver(_ => { + const change = oldheight - this.div.offsetHeight; + if (change > 0) { + this.scroll.scrollTop += change; + } + oldheight = this.div.offsetHeight; + this.watchForChange(); + }).observe(div); + } new ResizeObserver(this.watchForChange.bind(this)).observe(scroll); await this.firstElement(initialId); this.updatestuff(); diff --git a/webpage/infiniteScroller.ts b/webpage/infiniteScroller.ts index 7f1c9c6..2fad78d 100644 --- a/webpage/infiniteScroller.ts +++ b/webpage/infiniteScroller.ts @@ -27,7 +27,17 @@ class InfiniteScroller{ this.scroll=scroll; this.scroll.addEventListener("scroll",this.watchForChange.bind(this)); - new ResizeObserver(this.watchForChange.bind(this)).observe(div); + { + let oldheight=0; + new ResizeObserver(_=>{ + const change=oldheight-this.div.offsetHeight; + if(change>0){ + this.scroll.scrollTop+=change; + } + oldheight=this.div.offsetHeight; + this.watchForChange(); + }).observe(div); + } new ResizeObserver(this.watchForChange.bind(this)).observe(scroll); await this.firstElement(initialId)