• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

javascript - ionic 2 : Run functions while scrolling on iOS

[复制链接]
菜鸟教程小白 发表于 2022-12-11 19:51:18 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

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

这里是一些代码:

  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 上,它等待滚动停止,然后执行 console.log()。 出于性能原因,我正在阅读 iOS 上的 javascript 在滚动时停止。有解决办法吗?



Best Answer-推荐答案


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/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap