我正在使用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
}
我该如何解决?
答案 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);
}