【问题标题】:Angular JS 4 + clarity-angular ScrollTop hides HeaderAngular JS 4 + 清晰角 ScrollTop 隐藏标题
【发布时间】:2017-11-06 21:11:10
【问题描述】:

在 Angular 4 中,当路由器更改时,页面不会滚动到顶部。

我的解决方案是用#top 放置一个 div,在 typescript 中我使用 ViewChild 来像 scrollIntoView 一样

<div #top></div>

import { ViewChild, ElementRef } from '@angular/core';

@ViewChild('top') top: ElementRef;

当启动和加载我需要的所有内容时,我会调用

this.top.nativeElement.scrollIntoView();

这适用于 PC,但在移动设备中,清晰度标题隐藏 (<clr-header>),当我用移动设备滚动顶部时,滚动标题再次显示,但给用户带来不好的体验,我希望每次都显示标题。

请记住,标头位于根目录上,并且所有嵌套路由都在“router-outlet”内,因此我在嵌套路由中滚动顶部的解决方案不适用于根目录。

我尝试在 root 中使用此命令,但不起作用,“滚动顶部”仅适用于嵌套路由。

我已经尝试过以下命令:

window.scrollTo(0, 0) 无效

document.body.scrollTop = 0 无效

this.document.body.scrollTop = 0(使用 Angular DOCUMENT 模块)不起作用

还有很多其他人......有人可以帮忙吗?

【问题讨论】:

    标签: html angular scroll scrolltop clarity


    【解决方案1】:

    试试

    window.pageYOffset || document.documentElement.scrollTop ||document.body.scrollTop || 0
    

    这将涵盖所有浏览器并且应该可以工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-09-10
      • 2021-08-12
      • 2018-06-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-25
      相关资源
      最近更新 更多