2014-02-12 40 views
1

我遇到了一個問題,現在阻止我。我有一個可以從我的所有頁面打開的面板,我正在使用外部面板(JQM 1.4.0中的新增功能)來實現這一點,這非常酷。面板鏈接到用於導航的不同頁面。一切都很好,直到我改變了所有的過渡:'幻燈片'過渡:'沒有'出於一些明顯的性能原因。我刪除過渡面板後開始出現奇怪的問題jquery移動面板不工作回到第一頁

我已經創建了jsfiddle以便更好地理解。點擊「菜單」按鈕打開面板,點擊「轉到第二頁」鏈接。這將調用從我使用changePage到pageTwo的JS方法(我應該按照設計經過JS方法,我不能像#pageTwo那樣)。現在點擊返回按鈕返回#pageOne。現在,如果你點擊菜單按鈕,它不會打開。令人驚訝的是,如果我使用**任何轉換****,同時做changePage到pageTwo,即,如果我使用下面的代碼,這工作正常,這整個事情工作正常。

$.mobile.changePage('#pageTwo', {transtion,'slide'}) 

我發現了一個類似的問題here,但沒有解決方案。任何幫助表示讚賞

+1

因爲這可能是jQM中的一個錯誤,解決方法可能是通過CSS設置一個非常快的轉換時間。這裏是你更新的小提琴與重構代碼和CSS來加速淡出:http://jsfiddle.net/ezanker/TAS25/37/(你也應該使用jQM 1.4的jQuery 1.10.x ... – ezanker

+0

謝謝你的提示@ezanker。我用你的觀點來解決問題 – hashcoder

回答

1

我爲此問題做了一個快速解決。當我們執行更改頁面時會發生問題,頁面在面板關閉前發生更改。所以我在致電轉換頁面之前給了一個延遲。

setTimeout(function(){ 
    $.mobile.changePage('#page2',{transtion:'none'}); 
},200); 
3

它看起來像JQM 1.4的一個bug,

$.mobile.defaultPageTransition = 'none';原因造成的,但它不應該。

當頁面轉換設置爲無時,頁面在面板關閉前發生變化。

使用 $.mobile.defaultPageTransition = 'fade'; OR transition: "fade"

+0

Hi @Beginner,感謝您的快速幫助,正如我告訴過的,我將無法使用轉換,因爲它降低了較低設備的性能。當通過面板上的鏈接導航時很棒,但是當您從頁面2上提供的鏈接(在您的小提琴中)回到page1時,面板拒絕打開。 – hashcoder

0

我有同樣的問題,我解決它通過創建監聽每一頁上,並刪除外部面板之前,頁面將隱藏的腳本,是這樣的:

$(document).on('pagebeforehide', function(event) 
{ 
    $('#mypanel').remove(); 
}); 

此腳本必須的jQuery之前調用在您的html文件中移動。

當您通過JS將面板添加到DOM每次打開每個頁面時,您還需要在當前頁面隱藏之前將其刪除,並且在導航過程中再次在下一頁面上再次閱讀它。

這適用於我。我希望這是有幫助的。

+0

感謝您的幫助@Ed ..我爲這個問題做了另一項工作。請看下面的答案。 – hashcoder

+0

@hashcoder我很高興你解決了你的問題,但這實際上不是我的答案。我只是[**編輯**](http://stackoverflow.com/help/privileges/edit)而已。 :) –

0

如這裏指出:Issue #7711 on Github

它現在使用jQuery移動1.4.5工作。我有同樣的問題,我升級到這個版本。這個對我有用!