我在android上使用带有phonegap的JQuery-mobilw,在几台机器上进行了测试,但是当使用页面转换时,从页面a到b,它首先转换到b,然后a显示片刻,然后b再次显示。有时这种闪烁甚至是值得的。
我正在使用 1.4 JQuery-mobile,但 1.3.2 中已经存在问题。我尝试了从网上找到的所有可能的建议,但没有一个有效。这些包括
转硬件加速
设置-webkit-backface-visibility:隐藏;
放大 JQuery-mobile 等。
这真是要了我的命。
我在android上使用带有phonegap的JQuery-mobilw,在几台机器上进行了测试,但是当使用页面转换时,从页面a到b,它首先转换到b,然后a显示片刻,然后b再次显示。有时这种闪烁甚至是值得的。
我正在使用 1.4 JQuery-mobile,但 1.3.2 中已经存在问题。我尝试了从网上找到的所有可能的建议,但没有一个有效。这些包括
转硬件加速
设置-webkit-backface-visibility:隐藏;
放大 JQuery-mobile 等。
这真是要了我的命。
添加user-scalable=no解决问题。
<meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1">
资源
看评论
在 JQM 中,当您从 A--> B 转换时在 DOM 中添加任何动态内容时。有时这种闪烁甚至是值得的,因为页面 B 还没有真正准备好(没有添加更多的东西完成)。你必须确保页面 B 真的准备好了。为此,您可以使用 setTimeout() 来修复过渡时的闪烁。在 javascript 中,所有语句将同时运行(多线程,它非常有用,但有时控制起来也很复杂)。
如果在从 A 过渡到 B 时不要在页面 B 中添加任何内容,则有时它会闪烁。请尝试 setTimeout(),你会看到过渡非常非常好,非常非常平滑。
setTimeout(function(){$.mobile.changePage('#page_mail_content', { transition: "slide"});},300);
这对我来说是固定的问题。我相信它已经为你解决了。
抱歉,我的英语很不好。@@
在调用 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>
够了。。。参考
我知道你正在经历的痛苦。不幸的是,Android 在 jQM 的转换中如此受欢迎。
您是否也尝试过将后备过渡设置为“无”?
$.mobile.transitionFallbacks.slideout = "none";