angular - Angular 2:粘性滚动条和 ViewportScroller,滚动到带有粘性导航栏的锚元素
问题描述
我只是使用 ViewportScroller 单击并移动到锚元素:
@Component({
selector: 'app-service',
templateUrl: './sample.component.html',
styleUrls: ['./sample.component.scss']
})
export class SampleComponent {
constructor(private viewportScroller: ViewportScroller) {}
public scrollToElementId(elementId: string): void {
this.viewportScroller.scrollToAnchor(elementId);
}
}
<div (click)="scrollToElementId('myDivToScroll')"></div>
<div id="myDivToScroll">Hello there</div>
这工作得很好。
但是,我现在添加了一个粘性导航栏。那个粘性导航栏总是在我的锚元素之上。如何让 scrollToAnchor 调用忽略粘性导航栏高度?如何在 Angular 10 中解决这个问题?
解决方案
发现它:viewportScroller
提供了一个setOffset
让你调整视口滚动的功能。
推荐阅读
- mysql - aws linux服务器在部署后崩溃
- reactjs - 如何在 ReactJs 中提交输入后自动创建新元素
- c - 在这段代码中,我怎么可能将指向链表的指针视为链表本身?
- python-3.x - Python客户端不断失去与tcp套接字连接的连接
- angular - 核心模块内的角度模块?
- python - 检测 numpy ndarray 中的整数溢出
- haskell - 堆栈测试——第一次失败后如何停止?
- java - 为服务使用 AsynTask 类仍然得到“跳过 31 帧!应用程序可能在其主线程上做太多工作。”。为什么?
- discord - 以编程方式向 Discord 成员添加角色
- go - 有没有办法动态地收集给定结构类型的实例?