javascript - 有没有办法直接从 Cordova 获取滚动位置?

标签 javascript cordova ionic-framework phonegap-plugins

我对 ionic 框架的 native 滚动有问题。以下内容在浏览器中运行良好,但在编译到 iOS 时则不然。如果我按一定时间间隔轮询 $ionicScrollDelegate.getScrollPosition(),我不会获得最新的位置值。只有当减速结束或用户再次触摸时,该值才会更新。我仔细研究了所有 ionic 滚动代码,但似乎 __scrollLeft 值来自更深层的内部 API,因为我尝试使用 native 滚动,而不是 js 滚动。

为了解决这个问题,我尝试使用 DOM API 来获取内容的窗口相对位置:

inversePosition = divContainer.getBoundingClientRect().left;

但这也同样缺乏更新。这让我觉得这甚至是不可能的。

有没有更直接的方式获取职位?我愿意自己深入研究 ionic js 包,但我什至不知道从哪里开始寻找核心 cordova 滚动 API 文档。

基本上,我的用例与 map 应用程序类似,我需要实时准确的滚动位置数据。

我打开了issue在 ionic 库中,但我怀疑任何人都会遇到 398 个其他 Unresolved 问题....

标记phonegap是因为phonegap也包裹了cordova,phonegap中的解决方案可能适用于这个问题。

最佳答案

检查iScroll

我没有在 ionic 项目中使用过它,只在backbone-cordova 项目中使用过它,但我认为它的工作原理是一样的。

它在 javascript 级别的滚动上添加了很多功能,实现起来有点困难,因为它使用了自己的 CSS 和 HTML 模型,但它为您提供了很多交换的东西,例如当前位置.

关于javascript - 有没有办法直接从 Cordova 获取滚动位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37201428/

相关文章:

ios - 如何在 2 年前创建的退出项目中将 Cordova 1.5.0 升级到 Cordova 3.5.0?

java - 找不到 gradle 包装器

javascript - ng-repeat 中的花括号 - 语法?

javascript - 如何动态添加类似于 JavaScript 数组推送功能的 JavaScript 对象?

android - 如何添加android :allowBackup ="false" via cordova plugin

javascript - 如何在没有内存泄漏的情况下删除 DOM 元素?

ios - Cordova - 在外部应用程序中打开但是如何打开?

firebase(延迟)动态链接匹配精度

javascript - jQuery - 获取最高图像的高度,将其他图像的高度差应用于上边距

javascript - 使用 JavaScript 中的 Date.Parse 将时间字符串(例如 '12:05 PM')转换为日期时间