首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Angular5 ngAfterviewchecked,scrollIntoView()

Angular5 ngAfterviewchecked,scrollIntoView()
EN

Stack Overflow用户
提问于 2018-12-04 13:20:23
回答 1查看 662关注 0票数 0

在页面加载上,它应该向下滚动到一个特定的div --我使用下面的函数,但是问题是在页面加载之后,它在上下滚动时给了我问题,下面的函数不允许我正确地上下滚动。

代码语言:javascript
复制
ngAfterViewChecked(): void{

    if (this.primary){
      setTimeout(() => {
    this.scrollTo.nativeElement.scrollIntoView();
      },100);
  }
  }

我没有使用超时,所以滚动没有从div位置移动。在那里修好了。但是一旦我使用了setTimeout,它就开始移动,但仍然给我带来了问题。我只想在页面加载时使用scrollIntoView。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-12-04 13:38:07

使用变量防止函数多次被调用。

代码语言:javascript
复制
isStarting:boolean=true;
ngAfterViewChecked(): void{

    if (this.primary && this.isStarting){
      setTimeout(() => {
    this.scrollTo.nativeElement.scrollIntoView();
this.isStarting=false;
      },100);
  }
  }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53613935

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档