Javascript Android Phonegap滚动条非常起伏

Javascript Android Phonegap滚动条非常起伏,javascript,android,css,cordova,scroll,Javascript,Android,Css,Cordova,Scroll,我正在构建一个非常基本的Web应用程序,用于显示渡轮时刻表 我正在使用phonegap将其移植到Android上的“本机”应用程序中,我在滚动方面遇到了一些问题 它在设备上的Chrome浏览器和android浏览器上都能完美工作。我在几个设备上进行了测试,它们在浏览器中都工作得很好。然而,当我把这个项目放到Phonegap中时,卷轴变得非常“起伏”,跳跃和粘滞。我添加了一个视频链接,向您展示以下行为: 我将向您简要解释它的工作原理: 在切换视图中的内容时,我们使用translate3d CSS

我正在构建一个非常基本的Web应用程序,用于显示渡轮时刻表

我正在使用phonegap将其移植到Android上的“本机”应用程序中,我在滚动方面遇到了一些问题

它在设备上的Chrome浏览器和android浏览器上都能完美工作。我在几个设备上进行了测试,它们在浏览器中都工作得很好。然而,当我把这个项目放到Phonegap中时,卷轴变得非常“起伏”,跳跃和粘滞。我添加了一个视频链接,向您展示以下行为:

我将向您简要解释它的工作原理:

在切换视图中的内容时,我们使用translate3d CSS方法进行转换,以避免使用页面转换。因此,我们没有滚动实际页面,而是滚动单个内容div,这样在内容视图之间切换时就可以避免奇怪的滚动错误。基本上,我们在一个页面上有三个“内容视图”,当我们想要切换视图时,它们会切换出去

以下是该应用程序的链接:

我尝试过的事情

我们使用的是“overscroll:scroll”;其中一个内容div,我知道它与安卓2.3之前版本有些不兼容,但现在应该很好了

我们尝试了一些大型库,比如iScroll和Scrollable,诸如此类的东西都没有用

我已尝试阻止touchmove的默认操作

我们使用Zepto的触摸模块对正确的触摸事件进行了编码

我已经在从NexusOne(4.0.4)到Nexus7(4.3)的设备上进行了测试,所有这些设备上的情况都是一样的

我们将非常感谢您的帮助

我已经为此挣扎了一段时间,但我似乎在互联网上找不到任何关于这个“起伏”滚动错误的东西

编辑:以下是从安装到出现滚动错误的日志:

作为谷歌play的开发伙伴,在一个页面上有“三个”内容视图,当我们想切换视图时,这些视图就会切换出去,这不是一个好主意。不过,如果你想走这条路,我唯一的建议是作为谷歌play的开发伙伴来检查一下,在一个页面上有“三个”内容视图,当我们想切换视图时,它们会切换出去,这不是一个好主意。不过,如果你想走这条路,我唯一的输入就是检查一下这张样式表。首先,您不需要任何框阴影,因为mobile不喜欢这样。然后,由于您有很多空格,您希望通过user select:html帮助touch更好地处理这些空格

* {
    margin: 0;
    padding: 0;
    -webkit-user-select:html;
    -khtml-user-select:html;
    -moz-user-select:html;
    -ms-user-select:html;
    user-select:html;
}
这应该有助于你的滚动,但你仍然有大量的事情要清理与CSS。另一个问题是,您甚至没有正确加载cordova,但这可能与滚动无关


实际上,什么是zepto_002.js?这似乎是导致主要滚动问题的原因。

您的样式表非常糟糕。首先,您不需要任何框阴影,因为mobile不喜欢这样。然后,由于您有很多空格,您希望通过user select:html帮助touch更好地处理这些空格

* {
    margin: 0;
    padding: 0;
    -webkit-user-select:html;
    -khtml-user-select:html;
    -moz-user-select:html;
    -ms-user-select:html;
    user-select:html;
}
这应该有助于你的滚动,但你仍然有大量的事情要清理与CSS。另一个问题是,您甚至没有正确加载cordova,但这可能与滚动无关


实际上,什么是zepto_002.js?这似乎是导致主要滚动问题的原因。

Android Webview不支持Chrome浏览器的全部功能集。检查/发布日志,查看是否出现任何有用的消息。@MorrisonChang这是从安装到出现滚动错误时未过滤的日志。。。我还是Android开发新手,所以我真的不知道这意味着什么:我没有在你的日志中看到任何东西,也许其他人看到了。您可能希望尝试关闭应用程序中的硬件加速,以查看它对应用程序的影响。请参阅Android WebView上的Google IO会话:Android WebView不支持Chrome浏览器的全部功能集。检查/发布日志,查看是否出现任何有用的消息。@MorrisonChang这是从安装到出现滚动错误时未过滤的日志。。。我还是Android开发新手,所以我真的不知道这意味着什么:我没有在你的日志中看到任何东西,也许其他人看到了。您可能希望尝试关闭应用程序中的硬件加速,以查看它对应用程序的影响。请看Android WebView上的Google IO会话:嘿,山姆,谢谢你的输入,我在发布这篇文章之前就知道了强制gpu渲染,甚至强制gpu渲染似乎都没用。至于3个内容视图,不是ajax加载它们或其他什么,只是“移动它们”,我们这样做是为了避免使用页面加载。嘿,Sam,谢谢你的输入,我在发布这篇文章之前就知道了强制gpu渲染,甚至强制这样做似乎都没有用。至于3个内容视图,不是ajax加载它们或其他什么,只是“移动它们”,我们这样做是为了避免使用页面加载。嘿,我看不出你在哪里看到zepto_002.js,我们没有在代码中的任何地方链接它们,也没有在我们的资源中?你在哪里看到的?对不起,我下载了代码,所以我可以在实际设备上试用,因为这是使用它的唯一方法。zepto_002.js可能是您的zepto.min.js。当我删除它时,滚动效果很好。由于可能不是zepto,可能是您的脚本中使用了zepto。嘿,是ZepTouch模块导致了问题!我已经删除了,现在我一切都好了!谢谢我对
user select
属性使用的值很好奇。为什么
html
?我搜索了它,但它不存在()嘿,我看不到你在哪里看到zepto_002.js我们没有在代码中的任何地方链接它,也没有在我们的资源中?你在哪里看到的?对不起,我下载了代码,所以我可以在实际的设备上试用,因为那是