1、scrollIntoView函数
利用dom的scrollIntoView()函数可以滚动到指定位置。
let dom = document.querySelector('.change-page');
if (dom) {
dom.scrollIntoView(false);
}
2、scrollTop属性
利用dom的scrollTop属性,可以让滚动条滚到指定的位置,注意值要给数字,默认单位是px。
let dom = document.querySelector('.change-page');
dom.scrollTop = 800;
我们可以在页面上监听scroll事件,将滚动位置本地缓存下来,这样下次进来就可以滚动到上次浏览的位置了。
@ViewChild("pageWrapper") pagewrapper: any;
public scrollFunc: any;
...
ngDoCheck() {
if (localStorage.getItem('scroll-location') && this.pagewrapper) {
this.pagewrapper.nativeElement.scrollTop = Number(localStorage.getItem('scroll-location'));
}
}
ngAfterViewInit() {
//回调函数
this.scrollFunc = () => {
localStorage.setItem('scroll-location', "" + this.pagewrapper.nativeElement.scrollTop);
}
//滚动事件监听
this.pagewrapper.nativeElement.addEventListener('scroll', this.scrollFunc);
}
ngOnDestroy() {
this.pagewrapper.nativeElement.removeEventListener('scroll', this.scrollFunc);
}
网友评论