Javascript 根据手机屏幕大小处理网站滚动偏移

Javascript 根据手机屏幕大小处理网站滚动偏移,javascript,html,angular,typescript,Javascript,Html,Angular,Typescript,如果可以向左滚动,我需要使这个div可见 <div class="fade-left" [class.visible]="showFadeLeft()"></div> public showFadeLeft() { return this.boxToolbarElement.nativeElement.scrollWidth - Math.abs(this.boxToolbarElement.na

如果可以向左滚动,我需要使这个div可见

<div class="fade-left" [class.visible]="showFadeLeft()"></div>

 public showFadeLeft() {
    return this.boxToolbarElement.nativeElement.scrollWidth - 
           Math.abs(this.boxToolbarElement.nativeElement.scrollLeft) !== 
           this.boxToolbarElement.nativeElement.clientWidth;
   }

公开展览{
返回此.boxToolbarElement.nativeElement.scrollWidth-
Math.abs(this.boxToolbarElement.nativeElement.scrollLeft)!=
this.boxToolbarElement.nativeElement.clientWidth;
}
this.boxToolbar元素是溢出内容的容器


问题是,当我在移动设备中打开站点时,始终会显示“fade left”div,因为显示大小(屏幕缩放)使“showFadeLeft()方法”返回不同的值,我如何处理任何屏幕大小。

注意永远不要在HTML中使用函数。它可能会导致一些副作用,并会降低应用程序的性能

解决方案

<div class="fade-left" [class.visible]="isVisible"></div>
isVisible = false;                  // initial value can be false or tru; 

ngAfterViewInit(){                  // This life cycle hook will make sure that nativeElement is available for further operation.

   this.showFadeLeft();

}


private showFadeLeft() {           // Added private keyword

    this.isVisible = this.boxToolbarElement.nativeElement.scrollWidth - 
           Math.abs(this.boxToolbarElement.nativeElement.scrollLeft) !== 
           this.boxToolbarElement.nativeElement.clientWidth;
}