我正在使用带有phonegap的JQuery-mobilw,在Android上,使用多台机器测试但是当使用页面转换时,从第a页到第b页,它首先转移到b,而不是显示片刻,并且b显示再次。有时这种闪烁是值得的。
我使用的是1.4 JQuery-mobile,但1.3.2中已经存在问题。我尝试了从网上找到的所有可能的建议,但没有一个是有效的。这些包括
硬件加速转换
set -webkit-backface-visibility:hidden;
在JQuery-mobile等中进行缩放。
这真的让我伤心。
答案 0 :(得分:1)
在JQM中,当您从A - > B转换时在DOM中添加任何动态动态。有时这种闪烁甚至是值得的,因为页面B还没有真正准备好(没有添加更多的东西完成)。你必须确保页面B准备就绪。为此,您可以使用setTimeout()在转换时修复闪烁。在javascript中,所有语句将同时运行(多线程,它非常有用,但有时控制也非常复杂)。
如果在从A转换为B时使用不在页面B中添加任何内容,则有时它会闪烁。请尝试setTimeout(),你会看到转换非常好,非常非常流畅。
setTimeout(function(){$.mobile.changePage('#page_mail_content', { transition: "slide"});},300);
这对我来说是一个固定的问题。我相信它已经为你修好了。
对不起,我的英语非常糟糕。@@
答案 1 :(得分:1)
你需要一些东西才能调用Jquery mobile 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>
那足够..... refer
答案 2 :(得分:1)
添加user-scalable=no
可以解决问题。
<meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1">
来源
Solution to flicker problem in jQuery mobile page transitions!
参见评论
答案 3 :(得分:0)
我知道你经历的痛苦。不幸的是,Android在jQM的过渡中如此屡见不鲜。
您是否尝试过将回退过渡设为“无”?
$.mobile.transitionFallbacks.slideout = "none";
答案 4 :(得分:0)
我在这个位置解决了这个问题:
祝你好运。