如何使用按钮伪造angular2中的滚动?

时间:2017-05-02 21:42:44

标签: angular

如果我有div 300x300,除了滚动条,如果内容超出了框的高度(这样就会出现垂直滚动条)(溢出:自动),我想要一个看起来粘在底部的按钮显示“Page Down”的框和一个贴在框顶部的按钮,显示“Page Up”将“虚拟滚动”,就像用户根据div的高度点击滚动条一样。 / p>

我希望这可以用于div。实现这个的好方法是什么?这是一个指令,是否需要为每个组件添加重复代码?

1 个答案:

答案 0 :(得分:0)

存在Custom scroll angular directives。我认为你也可以根据更具体的目的进行定制。

我曾使用ng2-slimscroll一次,它包含1个指令,我认为你可以编辑它来添加一个功能并管理你希望采取行动的按钮。

你会注意到它使用javascript常用函数来计算滚动高度等等。这是一个用于计算barHeight的函数示例。你可以在他们的github项目文件夹中找到。 ng2-slimscroll/src/directives/slimscroll.directive.ts

 getBarHeight(): void {
    setTimeout(() => {
      let barHeight = Math.max((this.el.offsetHeight / this.el.scrollHeight) * this.el.offsetHeight, 30) + 'px';
      let display = parseInt(barHeight, 10) === this.el.offsetHeight ? 'none' : 'block';

      this.renderer.setElementStyle(this.bar, 'height', barHeight);
      this.renderer.setElementStyle(this.bar, 'display', display);
      this.renderer.setElementStyle(this.grid, 'display', display);
    }, 1);
}