如何在Android 3.1上以编程方式滚动HTML DIV?

我无法在Android 3.1 / Honeycomb(仅测试Android版本)上进行以下工作,但它可以在其他任何地方使用 – 包括在其他基于WebKit的浏览器上,例如在iPhone上。

具有固定尺寸的DIV:

Lorem ipsum dolor sit amet, etc.

一行JavaScript或jQuery在页面加载后向下滚动:

 document.getElementById("TestDiv").scrollTop = 100; $("#TestDiv").scrollTop(100); 

我还尝试将上面的内容包装在setTimeout以引入加载页面的小延迟。 它有时需要webkit,但它在这里没有帮助。

我在Android 3.1上看过程序化DIV滚动工作。 设备,所以我知道它可以完成。 问题是如何?

编辑:请注意,我正在寻找一个网络解决方案,也适用于Android的股票浏览器, 而不是原生的Android解决方案。

这是Android浏览器的已知问题:

http://code.google.com/p/android/issues/detail?id=19625

最好的解决方案可能是等到谷歌修复它,而不是试图弄清楚黑客攻击。

你可以用普通的javascript方法完成。 请与此联系

 window.scroll(0,650) 

0 – X轴650 – Y轴

一个对我有用的工作:首先,暂时将overflow属性设置为’hidden’,然后设置scrollTop属性,然后将overflow属性设置回’scroll’(或auto)。 当overflow属性设置回’scroll’时,scrollTop值似乎保持不变并且很荣幸。 这是一个非常简单的解决方法,适用于我测试的所有浏览器(桌面和移动)。 我没有详尽地测试它,我没有测试转换到位,所以可能有我没有遇到的副作用…你的里程可能会有所不同 – 但这是一件容易尝试的事情。 请参阅: jQuery scrollTop()在移动浏览器上滚动DIV时不起作用,替代方案?

我想到的是你可以覆盖onPageFinished(WebView view, String url) ,在里面你可以做这个view.scrollTo(x, y);

我有一个类似的问题。 最后,我只是使用绝对位置和zindex将我的每个页面放在彼此的顶部,然后切换它们的可见性。 糟透了这样的错误存在。