在角度2+中动态调整元素大小时,如何考虑滚动条的位置?

特拉维斯

在我的应用程序中,我有一条指令可以应用于div,从而可以调整它们的大小。但是,如果完全移动了滚动条,除非滚动条回到顶部,否则我将无法再次调整大小。我知道一种跟踪滚动条位置的方法,但不确定在哪里应用。这是我跟踪滚动位置的地方

public last_known_scroll_position = 0;

@HostListener('window:scroll', ['$event']) 
trackScrollBarPos() {
  this.last_known_scroll_position = window.pageYOffset;
}

private inDragRegion(evt: MouseEvent) {
  this.trackScrollBarPos();
  if(this.orientation == "horizontal"){
    return this.el.nativeElement.clientWidth - evt.clientX + this.el.nativeElement.offsetLeft < this.resizableGrabWidth;
  }else if(this.orientation == "vertical"){
   return this.el.nativeElement.clientHeight - evt.clientY + 

  this.el.nativeElement.offsetTop < this.resizableGrabHeight;
  }
}

我应该将方程式中最后一个已知的滚动条位置放在哪里,或者我要解决这个错误?如果没有滚动条,应用程序仍然可以正常工作。

请参阅下面的stackblitz,以获取完整代码https://stackblitz.com/edit/angular-zq5adw

安东·布罗肯(Anton Broken)

使用pageX / pageY代替MouseEvent的clientX / clientY属性。它们是相对于页面大小而不是视口大小的,因此滚动不会影响它们。编辑的应用程序

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

fancybox 2调整大小期间的iframe滚动条

来自分类Dev

平滑滚动角度2

来自分类Dev

如何使用角度2的角度材料?

来自分类Dev

如何选择角度 2 中的元素

来自分类Dev

角度2:动态图片

来自分类Dev

角度2。动态组件创建

来自分类Dev

如何从角度弹出窗口中删除垂直滚动条

来自分类Dev

角度 2 中的圆形进度条

来自分类Dev

如何使2列与角度表

来自分类Dev

在角度2中设置路线

来自分类Dev

角度2中的双向绑定

来自分类Dev

角度2中的子路由

来自分类Dev

*ngFor 在角度 2 中失败

来自分类Dev

角度2中的嵌套json

来自分类Dev

滚动条在调整大小时不会隐藏。

来自分类Dev

WPF ListView列按比例调整大小时如何避免水平滚动条

来自分类Dev

从角度2的json数组中获取元素

来自分类Dev

从角度2的json数组中获取元素

来自分类Dev

角度js ngdialog滚动条

来自分类Dev

如何在角度2中立即检测窗口大小调整?

来自分类Dev

如何同时使用角度1.3.4和角度2

来自分类Dev

如何使角度分量可重复使用?(角度2+)

来自分类Dev

如何同时使用角度1.3.4和角度2

来自分类Dev

考虑滚动条调整<div>宽度

来自分类Dev

如何从角度2的服务中获取数据?

来自分类Dev

如何在角度2中显示列表?

来自分类Dev

角度2,如何通过ElementRef依赖于UI中的大小或位置

来自分类Dev

角度2页面大小

来自分类Dev

如何从已定义位置开始逐步调整滚动条上的粘性标题的大小