在jQuery mobile中更改页面时闪烁的UI

时间:2011-12-21 08:26:35

标签: javascript css jquery-ui jquery-mobile mobile

我正在使用jQuery mobile 1.0。当我在iPhone中移动到一个页面到另一个页面时,第二个页面闪烁然后显示第一页并完全移动到第二页。怎么解决这个?提前谢谢..

更新:您可以查看http://gugl.org/page1.html以获取示例。

6 个答案:

答案 0 :(得分:3)

我使用以下CSS代码解决了这个问题:

.ui-mobile-viewport-transitioning,
.ui-mobile-viewport-transitioning .ui-page {
    overflow: visible;
}

我在my blog中提到了更多内容。

答案 1 :(得分:2)

如果以下内容有助于您的闪烁,请告知我们:

/* Remove flicker on Android / WebKit  */
.ui-page {
  -webkit-backface-visibility: hidden !important;
}

这个片段附带警告。虽然它可以解决闪烁问题,但它经常会引入其他问题。

例如,我被困了一个星期,试图弄清楚为什么我的谷歌地图不再像我需要的那样工作,结果发现这个问题是这个问题的原因。我开始有选择地将此规则定位到所有没有地图的网页。

答案 2 :(得分:0)

我推迟到本月晚些时候到期的jQueryMobile version 1.1

答案 3 :(得分:0)

您可能只需要启用touchOverflowEnabled

示例:

<script>
$(document).bind("mobileinit", function() {
  $.support.touchOverflow = true;
  $.mobile.touchOverflowEnabled = true;
});
</script>

另请注意,在jqm 1.1.0中不需要这样做。更多关于this here

答案 4 :(得分:0)

这种行为可能是由很多项引起的。

  • 经过初始屏幕滚动的长数据列表。他们需要 屏幕滚动时的渲染时间
  • 动态注入数据 - 同样需要时间来呈现
  • Android似乎无处不在闪烁。我们做的一件事就是关闭android和默认页面的转换 他们褪色。实际上,这就是JQM的方法 参加下一个版本。
  • 使用非基于ajax的页面链接,而不是返回到您的核心应用程序

这些只是导致您可能会看到的行为的一些因素。至少这是解决你的一些问题的起点。

答案 5 :(得分:0)

看看这对您有效:

http://jquerymobile.com/test/

这是版本1和版本1的已知问题。这被报道为iOS的封闭式错误。这已经开始,将在1.1中正式发布。

与此同时,如果你不能等待,测试网站会有最新的代码。

(关于在此生产中使用测试代码的通常免责声明。)

更新:宣布jQuery Mobile 1.1.0 RC1
http://jquerymobile.com/blog/2012/02/28/announcing-jquery-mobile-1-1-0-rc1/

演示: http://jquerymobile.com/demos/1.1.0-rc.1/