我已经尝试了几乎所有在线可用的解决方案,但没有任何解决方案,以下是我尝试过的几个解决方案
我的实际场景是当屏幕向下滚动时另一个 div 元素从屏幕上消失时显示特定的 div 元素。
我可以在台式机/笔记本电脑上执行此操作,但不能在滚动事件根本不触发的手机上执行此操作。
我正在使用的台式机/笔记本电脑滚动事件侦听器是
@HostListener('window:scroll', ['$event']) getScrollHeight(event) {
console.log('from desk' , window.pageYOffset, event);
}
而对于移动设备,因为我的滚动事件没有触发,所以我在下面使用
@HostListener('window:touchStart', ['$event']) checkTouchEnd(event) {
this.start = event.changedTouches[0];
});
@HostListener('window:touchend', ['$event']) checkTouchEnd(event) {
this.end = event.changedTouches[0];
let scrollpositionValue;
if((this.end.screenY - this.start.screenY) > 0) {
console.log('scrolling up');
console.log('[scroll-up]', this.end.screenY - this.start.screenY);
scrollpositionValue = this.end.screenY - this.start.screenY;
} else if(this.end.screenY - this.start.screenY < 0) {
console.log('scrolling down');
console.log('[scroll-down]', this.end.screenY - this.start.screenY);
scrollpositionValue = this.end.screenY - this.start.screenY;
}
const scrollPosition = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;
console.log('[scroll]', scrollPosition);
});
有人可以帮我解决一个问题,我想要的只是让移动浏览器上的 scrollY 位置滚动。
提前致谢!