android 3.0:JS scrollTop 不适用于 chrome/webview

发布于 2024-11-10 16:59:00 字数 246 浏览 4 评论 0原文

我已经通过 webView 编写了一个应用程序包装,它在我的 Milestone2 2.2 上按预期工作
但滚动功能在 3.0 的 chrome 上不起作用(在 FF 中工作)
既不是 dom.scrollTop = XXX 也不是 jquery $("#id").scrollTop(X)
这是一个错误吗?任何人都可以建议我如何修复它,谢谢!

我的平板电脑是 Acer ICONIA TAB A500,搭载 Android 3.0.1

I've written an app wrap by a webView, it work as expected on my milestone2 2.2
but the scrolling functions is not working on 3.0's chrome(work in FF)
neither by dom.scrollTop = XXX nor jquery $("#id").scrollTop(X)
is it a bug? anyone can suggest how I fix it, thx!

my tablet is Acer ICONIA TAB A500 with Android 3.0.1

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

时光瘦了 2024-11-17 16:59:00

我在 Android 浏览器中也遇到过类似的缺陷。我解决这个问题的方法是使用 $(window).scrollTop(x);或 window.scrollTo(x,0);

这样做的原因是,即使 div 不支持scrollTo,Android 浏览器中的窗口通常也支持scrollTo。我能够使用“position:fixed”重构我的 CSS,以便正文随我的内容滚动,并且所有其他组件都被固定。之后,一切都很顺利!

I've experienced a similar deficiency in Android browser. The way I worked around this problem was to use $(window).scrollTop(x); or window.scrollTo(x,0);

The reason this works is that scrollTo is usually supported in Android browser for the window even when scrollTo is not supported for divs. I was able to restructure my CSS using "position:fixed" so that the body scrolled with my content and all other components were fixed. After this, everything worked perfectly!

枕头说它不想醒 2024-11-17 16:59:00

对我有用的解决方法:首先,暂时将溢出属性设置为“隐藏”,然后设置scrollTop属性,然后将溢出属性设置回“滚动”(或自动)。当溢出属性设置回“滚动”时,scrollTop 值似乎保持完整并受到尊重。这是一个非常简单的解决方法,适用于我测试的所有浏览器(桌面和移动设备)。我没有对它进行详尽的测试,也没有对适当的转换进行测试,因此可能会有我没有遇到过的副作用......您的里程可能会有所不同 - 但这是一件很容易尝试的事情。请参阅:jQuery scrollTop() 不在移动浏览器上使用滚动 DIV,有替代方案吗?

A workaound that worked for me: first, temporarily set the overflow property to 'hidden', then set the scrollTop property, then set the overflow property back to 'scroll' (or auto). The scrollTop value seems to be kept intact and honored when the overflow property is set back to 'scroll'. This was a pretty trivial workaround that worked on all browsers I tested on (desktop and mobile). I didn't test it exhaustively, and I didn't test with transitions in place, so there may be side-effects that I haven't encountered... Your mileage may vary - but it's an easy thing to try. see: jQuery scrollTop() does not work in scrolling DIV on mobile browsers, alternatives?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文