2014-03-12 31 views
4

我在javascript上开发iPad应用程序。我有一些div。这个div中的内容应该是可滚动的。我使用这个类添加滚动的DIV:在iPad上滚动冻结(javascript)

.scrollable { 
-webkit-overflow-scrolling: touch; 
overflow-y: scroll !important; 
-webkit-transform: translate3d(0, 0, 0); 
} 

这样工作在90%的情况下,但有时我尝试滚动内容和什么都没有发生。我等了大约3秒钟,然后重试 - 并滚动工作。我没有任何可能导致此类行为的解决方法的JavaScript代码。

为什么这种行为可以?

+0

哪个版本的iOS?我在iOS5上遇到类似的行为。 – zvona

+0

我们需要更多的代码,比如HTML。 http://jsfiddle.net会很棒。 –

+0

您可以动态加载该内容,或者这是静态的。尝试给''.scrollable' div分配'height'属性。 – Era

回答

3

你提到你是动态加载内容,但你的小提琴没有那个动态内容加载发生,所以我不能用你的小提琴的叉子来回答,因为我更喜欢。

不过,我最近刚做了一个非常类似的问题,发现如果在加载内容(时间是至关重要的)后,我设置任何滚动元素的使用-webkit-transform: translate3d(0,0,0);,似乎化解奇“冻结“行为。

(在我的情况,我的动态内容加载与jQuery的$.get速记,所以我用了.then()运行这将每新的内容加载时间自动设置适当的CSS 的功能。)

让我知道这是否有帮助。