有没有办法直接从cordova获得滚动位置?

时间:2016-05-13 04:43:54

标签: javascript cordova ionic-framework phonegap-plugins

我对离子框架的原生滚动有问题。以下在浏览器中工作正常,但在编译到iOS时则不行。如果我每隔一段时间轮询Image::make($this->path)->fit(200)->save($this->thumbnail_path);,我就不会获得最新的头寸值。只有当减速结束或用户再次触摸该值才会更新时。我浏览了所有离子滚动代码,但似乎$ionicScrollDelegate.getScrollPosition()值来自更深入的内部API,因为我尝试使用本机,而不是js滚动。

试图破解它,我尝试使用DOM API来获取我的内容的窗口相对位置:

__scrollLeft

但是这同样缺乏更新。这让我觉得它甚至可能无法实现。

有没有办法更直接地获得这个位置?我愿意自己深入研究离子js包,但我不知道从哪里开始就找到核心的cordova滚动API文档。

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

我在离子库中打开了一个{{3}},但我怀疑是否会有398个其他未解决的问题进入它......

标记phonegap因为phonegap也包装了cordova,而phonegap中的解决方案可能适用于此问题。

2 个答案:

答案 0 :(得分:0)

检查iScroll

我还没有在离子项目中使用它,只在骨干电缆项目中使用它,但我认为它的工作方式是一样的。

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

答案 1 :(得分:0)

请尝试以下代码获取滚动位置信息:

  • HTML
<div id="mySrollDiv">
...
</div>
  • JS​​:
  

var scrollTop = document.getElementById(&#39; mySrollDiv&#39;)。scrollTop; VAR   offsetHeight = document.getElementById(&#39; mySrollDiv&#39;)。offsetHeight; VAR   scrollHeight = document.getElementById(&#39; mySrollDiv&#39;)。scrollHeight;