2

我在android上使用带有phonegap的JQuery-mobilw,在几台机器上进行了测试,但是当使用页面转换时,从页面a到b,它首先转换到b,然后a显示片刻,然后b再次显示。有时这种闪烁甚至是值得的。

我正在使用 1.4 JQuery-mobile,但 1.3.2 中已经存在问题。我尝试了从网上找到的所有可能的建议,但没有一个有效。这些包括

转硬件加速

设置-webkit-backface-visibility:隐藏;

放大 JQuery-mobile 等。

这真是要了我的命。

4

5 回答 5

1

添加user-scalable=no解决问题。

<meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1"> 

资源

jQuery移动页面过渡闪烁问题的解决方案!

看评论

于 2014-08-29T08:13:47.063 回答
1

在 JQM 中,当您从 A--> B 转换时在 DOM 中添加任何动态内容时。有时这种闪烁甚至是值得的,因为页面 B 还没有真正准备好(没有添加更多的东西完成)。你必须确保页面 B 真的准备好了。为此,您可以使用 setTimeout() 来修复过渡时的闪烁。在 javascript 中,所有语句将同时运行(多线程,它非常有用,但有时控制起来也很复杂)。
如果在从 A 过渡到 B 时不要在页面 B 中添加任何内容,则有时它会闪烁。请尝试 setTimeout(),你会看到过渡非常非常好,非常非常平滑。

setTimeout(function(){$.mobile.changePage('#page_mail_content', { transition: "slide"});},300);

这对我来说是固定的问题。我相信它已经为你解决了。
抱歉,我的英语很不好。@@

于 2013-09-11T01:52:56.810 回答
1

在调用 Jquery 移动 js 之前你需要一些东西:

 <script src="js/jquery-1.10.2.min.js" type="text/javascript"></script>
                    <script type="text/javascript">
                    $(document).bind("mobileinit", function()
                    {
                       if (navigator.userAgent.indexOf("Android") != -1)
                       {
                         $.mobile.defaultPageTransition = 'none';
                         $.mobile.defaultDialogTransition = 'none';
                       }
                    });
                    </script>
                    <script src="js/jquery.mobile-1.3.2.min.js" type="text/javascript"></script>

够了。。。参考

于 2014-04-10T11:50:54.270 回答
0

我知道你正在经历的痛苦。不幸的是,Android 在 jQM 的转换中如此受欢迎。

您是否也尝试过将后备过渡设置为“无”?

$.mobile.transitionFallbacks.slideout = "none";
于 2013-09-10T22:53:11.877 回答
0

我在这个位置解决了这个问题:

https://github.com/jquery/jquery-mobile/issues/5431

祝你好运。

于 2013-09-11T07:57:59.490 回答