jQuery Mobile - 页面在转换之前跳转到顶部

时间:2011-11-30 18:31:47

标签: jquery mobile jquery-mobile

任何人都有这个问题,页面会在转换之前快速跳转到顶部(让固定位置标题在页面中间丢失一半)?

在返回页面时,页面最终位于顶部,但由于我正在处理一个长列表,因此最好让它保持在我在上一页停止的位置。

我正在使用页内div而不是实际的单独页面,如果这可能有助于它。

任何提示赞赏!

3 个答案:

答案 0 :(得分:6)

使用$ .mobile.defaultHomeScroll = 0。

从这里开始:https://github.com/jquery/jquery-mobile/issues/2846

答案 1 :(得分:2)

这是一个已知问题,可能会在jQuery Mobile 1.1中重构。问题是,为了设置转换到另一个页面的动画,viewport必须位于页面的顶部,以便当前页面和转换的页面垂直排列。

如果您在一个页面上的长列表中间(例如1000px),并且您要转移的页面只有几百个像素高,那么当前页面将在屏幕上正常显示动画,但是新页面将不可见,因为它将位于视口上方。

我通过使用iScroll来修复滚动区域。这样,所有页面都占据视口的100%宽度/高度,并且不会在转换前滚动到顶部。

答案 2 :(得分:2)

我们已多次遇到这种情况。我们的解决方案是确保所有页面都与屏幕的高度完全相同。如果您的内容比屏幕长,那么它会进入可滚动的DIV容器。如果您的目标是iOS 4及以下版本,则需要像iScroll这样的库来使DIV可滚动为溢出:滚动(或自动)无法正常工作。 完成此操作后,您可以在页面之间平滑过渡。