角度滚动进入视图可移动整个页面

时间:2018-08-23 07:58:37

标签: angular angular5

我正在使用scrollIntoView滚动视图,但它在整个页面顶部移动了一些像素,这是简单的代码:

  scroll() {
      //moves the full view
      this.el.nativeElement.scrollIntoView();
      //does nothing
      // this.el.nativeElement.parentNode.scrollTop = this.el.nativeElement.offsetTop - this.el.nativeElement.parentNode.offsetTop

}

我该如何解决?

2 个答案:

答案 0 :(得分:1)

好吧,这与Angular无关,但希望能有所帮助。

scrollIntoView()默认为AlignToTop并接受布尔值/对象来控制它。

尝试使用此-

  

this.el.nativeElement.scrollIntoView(false);

OR

  

this.el.nativeElement.scrollIntoView({block:“ end”});

参考: https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollIntoView

如果可以,请告诉我。

答案 1 :(得分:0)

您可以在调用scrollIntoView之后尝试使用以下变通方法来移动窗口滚动:

this.el.nativeElement.scrollIntoView();
if (window.scrollY !== 0) {
   window.scrollBy(0, -window.scrollY);
}