JQuery Mobile Panel无法导航回第一页

时间:2014-02-12 08:51:14

标签: jquery jquery-mobile

我遇到了一个阻碍我的问题。我有一个可以从我的所有页面打开的面板,我正在使用外部面板(JQM 1.4.0中的新功能)实现这一点非常酷。 Panel具有指向用于导航的不同页面的链接。一切都运转正常,直到我改变了所有过渡:'滑动'转换:'无'出于一些明显的性能原因。我删除过渡面板后开始给出奇怪的问题

为了更好地理解,我创建了jsfiddle。单击“菜单”按钮打开面板,单击“转到第二页”链接。这将调用一个JS方法,从我使用changePage到pageTwo(我应该按照设计通过JS方法,我不能像#pageTwo)。现在单击“返回”按钮返回#pageOne。现在,如果单击“菜单”按钮,则无法打开。令人惊讶的是,如果我在执行changePage to pageTwo时使用**任何转换****,即如果我使用下面的代码,这可以正常工作。

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

我发现了类似问题here,但没有解决方法。任何帮助表示赞赏

4 个答案:

答案 0 :(得分:3)

它看起来像是JQM 1.4中的一个错误,

$.mobile.defaultPageTransition = 'none';正在造成它,尽管它不应该。

当页面转换设置为无时,页面在面板关闭前更改。

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

答案 1 :(得分:1)

我快速解决了这个问题。当我们在面板关闭之前进行更改页面,页面更改时,会出现问题。所以我在调用更改页面之前给了一个延迟。

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

答案 2 :(得分:0)

我有同样的问题,我通过创建一个监听每个页面的脚本并在页面隐藏之前删除外部面板来解决它,如下所示:

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

必须在html文件中的jquery mobile之前调用此脚本。

每次打开每个页面时,通过JS将面板添加到DOM中,您还需要在当前页面隐藏之前将其删除,而不是在导航期间在下一页上再次阅读。

这对我有用。我希望它有所帮助。

答案 3 :(得分:0)

如上所述:Issue #7711 on Github

现在正在使用jQuery Mobile 1.4.5。我有同样的问题,我升级到这个版本。它对我有用!