如何在Iphone的safari或android的webkit上的DIV中动态滚动内容?

时间:2010-08-13 01:45:21

标签: iphone android safari webkit

我的代码:

for(var myLine = 0; myLine < 100; myLine++)
      document.getElementById("myDiv").innerHTML += "line " + myLine + "<br>";


...............

<div style="position:...etc; overflow:auto;" id="myDiv"></div>

这在所有非移动平台上的每个浏览器中都没有出现故障。但是......当在iPhone(Safari)或Android(webkit)上实现时,div会填充文本,但是当文本超过div的高度并且用户无法“推送”时,不会生成滚动条内容也要么。因此无论如何,有效溢出总是“隐藏”。

我很好奇是否有一些我忽略的替代方法,或者这只是一个我目前无法绕过的错误。

3 个答案:

答案 0 :(得分:3)

这是移动网络套件上的已知问题:http://www.quirksmode.org/webkit.html。寻找overflow

解决方法是iScroll

答案 1 :(得分:1)

实际上,iOS表现正常。用户必须使用两根手指滚动页面上不是整页的任何滚动区域。 (否则,当浏览器在非优化页面上填满屏幕时,如果用户想要滚动div或它的容器,浏览器将如何知道。)

解决'功能'的最佳方法是实现一个触摸事件处理程序,当用户触摸它时将其移动。实践中一个很好的例子是Apple的FingerTips示例代码。

当您在iPad上浏览Safari Developer Library时,Apple会使用这种技巧。

答案 2 :(得分:0)

我认为问题在于设置innerHTML,这里是类似的post

在dom加载并准备就绪后,是否在iPhone上调用了该函数?