页面更改之间的转换

我正在使用jQueryMobile的$.mobile.changePage(...)方法切换到我的项目中的不同页面。

$.mobile.changePage("#foo", {
 transition:"slide"
});

当我运行该方法时,转换完美,但当我点击浏览器的返回按钮时,我看不到任何反转。

我玩过http://jquerymobile.com/test/docs/api/methods.html中描述的一些参数,但没有运气。

尤其是设置reverse:true只有在向前移动到目标页面时才反转过渡,但当按下后退按钮时仍然没有过渡。


更新:看起来像看到data-rel =“back”为通过<a> -tag定义的“orginary链接”的技巧, 我需要的是调用$.mobile.changePage()函数时的JavaScript等价物。


看看这个页面,http://jsfiddle.net/nachiket/mDTK2/show/light/
对我很好。

单击(第1页)显示从左向右过渡,&Back按钮(第2页)显示从右向左过渡。

来源:http://jsfiddle.net/nachiket/mDTK2/
如果工作不正常,请分享您的浏览和其他详细信息。
如果示例工作正常,但不是您的代码,请使用jsfiddle突出显示您的问题,以便我可以检查并更新代码/答案。


对于你想要反向转换的链接,你可以使用data-direction="reverse"data-rel="back"

例:

<div data-role="page" >
    <div data-role="header"><h3> Header </h3> </div>
    <div data-role="content" >    
        <a href="#page2" data-role="button" data-transition="slide">Page 2</a>
    </div>
</div>

<div data-role="page" id="page2">
    <div data-role="header"><h3> Header </h3> </div>
    <div data-role="content" >    
        <a href="#" data-rel="back" data-role="button" data-direction="reverse" >Back</a>
    </div>
</div>​

的jsfiddle:

  • http://jsfiddle.net/GEDcF/
  • 文档:

  • http://jquerymobile.com/demos/1.1.1/docs/api/data-attributes.html
  • UPDATE

    从你的评论

    "Yeah, but how do I do that with the JavaScript function $.mobile.changePage()?"
    

    文档:

  • http://jquerymobile.com/demos/1.1.1/docs/api/methods.html
  • 引用:

    Properties:
         reverse (boolean,  default:    false) Decides what direction the transition will run when showing the page.
    

    找到了。

    我们的一位开发人员在全球范围内关闭了所有返回转换,因此毫无疑问,这并不奏效。

    这是他用过的。 去掉那条线就行了。

    $.mobile.changePage.defaults.transition = "none";
    
    链接地址: http://www.djcxy.com/p/61265.html

    上一篇: transition between page changes

    下一篇: Preventing session fixation in ruby sinatra