Jquery Mobile在android链接转换双闪烁

时间:2012-12-05 14:02:20

标签: android jquery html cordova jquery-mobile

使用Phonegap编译后,我遇到了Jquery Mobile的问题。

以下是代码段:

function game() {
    $.mobile.changePage( "#game", { transition: "slideup"} );
}

第1页:

<a onclick="game()" data-role="button">Start game</a>

第2页:

<div data-role="page" id="game" data-theme="a">
   ... 
</div>

当我点击“开始游戏”链接时,它肯定会改变页面,但它会双闪烁。这看起来非常糟糕,我试图摆脱它。我喜欢transision slideup,但我只是希望页面改变而不会看起来像它的双重变化。

任何人都可以提供帮助吗? :)

2 个答案:

答案 0 :(得分:2)

在Android上闪烁的Phonegap问题是由于Android版本2.x等性能不佳的平台。我建议你在Android版本上关闭它们。有一些可能的CSS修复,但我从来没有设法在我的代码中正确包含它们。

转换可以像这样关闭:

$(document).bind("mobileinit", function()
{
    if (navigator.userAgent.indexOf("Android") != -1)
    {
        $.mobile.defaultPageTransition = 'none';
        $.mobile.defaultDialogTransition = 'none';
    }
});

有关Android手机问题的更多信息,请访问:http://jquerymobile.com/blog/2012/01/10/upcoming-releases-1-0-1-1-1-and-beyond/

  

经过大量的测试和改进后,我们决定使用3D变换功能测试从更复杂的幻灯片,弹出和翻转过渡中排除性能不佳的平台,如Android 2.x,以便这些将回退到所有过渡的默认淡入淡出,以确保顺畅的体验。

答案 1 :(得分:0)

解决方案,感谢Gajotres。

我发现我必须在jquery mobile之前包含转换禁用脚本,这有点奇怪。之后包含它会更合乎逻辑,但它现在有效,并且我很高兴:)

解决方案:

<script src="js/disableTransition.js"></script>
<script src="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.js"></script>