javascript - ionic 2 : Run functions while scrolling on iOS

标签 javascript ios ionic-framework scroll ionic2

我试图在滚动时执行一些功能。基本上,如果满足某个滚动位置,我希望应用程序执行某些操作。

这里是一些代码:

  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");
      }
    });
  }

它在 Web 浏览器或 Android 设备上按预期工作,它在滚动时重复运行条件内的“console.log()”。 相反,在 iOS 上,它等待滚动停止,然后执行 console.log()。 我读到在 iOS 上,由于性能原因,javascript 在滚动时停止。有解决办法吗?

最佳答案

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

查看这篇文章:javascript scroll event for iPhone/iPad?

可以这样实现:

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 来监听这两个事件。

关于javascript - ionic 2 : Run functions while scrolling on iOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44504515/

相关文章:

javascript - 为什么 Javascript 返回不正确的 UTC 月份值?

iOS 并不总是调用 didReceiveMemoryWarning

javascript - 查找所有字母而不重复正则表达式

Javascript:用逗号分割字符串但忽略引号中的逗号

javascript - 在 Django 管理中选择带有单选按钮的项目

wordpress - Ionic 2 和 wordpress(如何“一分钟前、几小时前等”)

android - Cordova-如何在 Android 上隐藏虚拟导航按钮?

ios - 无法从 Facebook 帐户获取工作和机构详细信息

ios - React-native run-ios加载环境变量

javascript - 使用 angular-moment.js 设置日期格式