diff options
Diffstat (limited to 'ext/mixed/js/display.js')
| -rw-r--r-- | ext/mixed/js/display.js | 14 | 
1 files changed, 9 insertions, 5 deletions
| diff --git a/ext/mixed/js/display.js b/ext/mixed/js/display.js index a3d618e5..e3c44507 100644 --- a/ext/mixed/js/display.js +++ b/ext/mixed/js/display.js @@ -31,6 +31,8 @@ class Display {          this.dependencies = {}; +        this.windowScroll = new WindowScroll(); +          document.addEventListener('keydown', this.onKeyDown.bind(this));          document.addEventListener('wheel', this.onWheel.bind(this), {passive: false});      } @@ -53,11 +55,12 @@ class Display {              e.preventDefault();              const link = e.target; +            this.windowScroll.toY(0);              const context = {                  source: {                      definitions: this.definitions,                      index: this.entryIndexFind(link), -                    scroll: $('html,body').scrollTop() +                    scroll: this.windowScroll.y                  }              }; @@ -102,11 +105,12 @@ class Display {                  textSource.cleanup();              } +            this.windowScroll.toY(0);              const context = {                  source: {                      definitions: this.definitions,                      index: this.entryIndexFind(clickedElement), -                    scroll: $('html,body').scrollTop() +                    scroll: this.windowScroll.y                  }              }; @@ -410,7 +414,7 @@ class Display {          $('.current').hide().eq(index).show(); -        const container = $('html,body').stop(); +        this.windowScroll.stop();          const entry = $('.entry').eq(index);          let target; @@ -421,9 +425,9 @@ class Display {          }          if (smooth) { -            container.animate({scrollTop: target}, 200); +            this.windowScroll.animate(this.windowScroll.x, target, 200);          } else { -            container.scrollTop(target); +            this.windowScroll.toY(target);          }          this.index = index; |