2012-06-14 42 views
3

我正在測試使用jQuery Mobile 1.1.0構建的移動Web應用程序。我正在使用在Android 4.0上運行的Galaxy Nexus測試網站應用程序。 上有CSS刷卡過渡討厭的閃爍和我環顧四周爲修復和發現這一點:jQuery Mobile在轉換期間閃爍屏幕

.ui-page { 
    -webkit-backface-visibility: hidden; 
} 

然而,當我使用此修復程序,其中有一個列表視圖不顯示的索引頁。請幫幫我。可能是什麼問題呢?

+0

也有類似的問題在這裏:http://stackoverflow.com/questions/10401938/jquery-mobile-listview-phantom-not-refreshed-in-android-4 – Ryan

+0

見我回答這個問題,我得到了它的工作:http://stackoverflow.com/a/12749862/561545 – Jeff

+0

如果你只需要從jQM過渡,最好使用https://github.com/PixelsCommander/Mobile-Transitions - 不要眨眼,更好的性能,更簡單使用。 – PixelCommander

回答

0

它也不適用於我(特別是在iOS)。然後我用

<a href="index.php" data-transition="none">Index</a> 

它爲我工作。 Page transition

+0

它在JQm 1.1.0上爲我工作! –

4

防止「閃爍」的唯一方法是完全禁用jQuery Mobile頁面轉換。在你的文檔,將此代碼:

// load your custom jQuery Mobile Defaults 
<script type="text/javascript" src="mobile/js/mobile-site-custom-jqm-defaults.js"></script> 

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

// load your scripts.js (your javascript & functions, etc.) 
<script type="text/javascript" src="mobile/js/script.js"></script> 

要禁用轉換,內部的移動站點定製JQM-defaults.js文件,將此代碼:

$(document).bind("mobileinit", function(){ 
    $.extend( $.mobile , { 
    defaultPageTransition: 'none' 
    }); 
}); 
4

我發現在網絡上這個解決方案:
if (navigator.userAgent.indexOf("Android") != -1) { $.mobile.defaultPageTransition = 'none'; $.mobile.defaultDialogTransition = 'none'; }
我測試了它在使用cordova 2.2.0,jquery 1.8.2和jquery mobile 1.2.0編寫的Android應用程序上。我必須說這是有效的。我希望jquery移動開發團隊能夠解決轉換閃爍的問題,但現在唯一的辦法就是把它們全部關閉。我想補充一點,我檢查了從這個主題的前30個谷歌搜索欺騙的所有CSS。

+1

這個bug一直存在於JQueryMobile中,可能是最有名的。不要指望它很快就會被修復。 – Halsafar

+0

@Marek酒吧:感謝分享...幫助! –