Ionic 2:在iOS上滚动时运行函数



我正在尝试在滚动时执行某些功能。基本上,如果满足某个滚动位置,我希望应用程序做一些事情。

这里有一些代码:

  ionViewDidLoad() {
    this.content.ionScroll.subscribe((event) => {
      this.scrollPosition = event.scrollTop;
      if(this.scrollPosition >= 100){
        console.log("more than 100");
      }
      else {
        console.log("less than 100");
      }
    });
  }
它在

网络浏览器或Android设备上按预期工作,它在滚动时在该条件下反复运行"console.log(("。相反,在 iOS 上,它会等待滚动停止,然后执行控制台.log((。我正在阅读iOS javascript在滚动时停止,出于性能原因。有解决方法吗?

Safari 在滚动

完成之前不会触发滚动事件,因此在这种情况下,您必须执行一些自定义事件侦听。

看看这篇文章:iPhone/iPad的javascript滚动事件?

它可以像这样实现:

document.addEventListener("touchmove", ScrollStart, false);
document.addEventListener("scroll", Scroll, false);
function ScrollStart() {
    //start of scroll event for iOS
}
function Scroll() {
    //end of scroll event for iOS
    //and
    //start/end of scroll event for other browsers
}

我建议创建一个指令,使用 HostListener 侦听这两个事件。

相关内容

  • 没有找到相关文章

最新更新