1

我正在使用backbone.js 和jquery mobile 构建一个Web 应用程序。我想为所有类名“后退”按钮添加反向幻灯片效果。

代码看起来像这样,

$('.ico_back').live('click', function(event) {
 $.mobile.back();
 return false;
});

有谁知道如何为$.mobile.back()功能添加反向效果?

(这是一个单页应用程序,所以我不能用传统的 JQM 方式做到这一点:比如添加一个简单的data-transition="slide"

4

4 回答 4

3

使用以下代码动态更改到上一页。

演示

$(document).on('click', '.ico-back', function () {
 var previous = $.mobile.activePage.prev('[data-role=page]');
 $.mobile.changePage(previous, { 
  transition: 'slide',
  reverse: true });
});

编辑: 根据提供的 repo 中的代码,对以下代码块进行以下更改。

if (this.firstPage) {
 transition = 'slide';
 this.firstPage = false;
}
$.mobile.changePage($(page.el), {changeHash:false, transition: transition, reverse:true });
于 2013-06-10T10:15:38.933 回答
1

在每个带有类的元素中,.ico_back它添加了data-reldata-transition属性。这样您就不必查找上一页或在代码中添加额外的逻辑。jQM 为您管理后页转换。

$(document)
     .on("pageinit", "#page-id", function () {
         $('.ico_back')
             .each(function (index) {
                 $(this)
                     .attr("data-rel", "back");
                 $(this)
                     .attr("data-transition", "slide");
          });
});

我希望这有帮助。

于 2013-06-10T10:36:23.370 回答
1

根据 Tolis Emmanouilidis 的回答,您wrap可以ico_back使用a

$(document).on("pageinit", "#page-id", function () {
    $('.ico_back').wrap($('<a/>', { "data-rel":"back", "data-transition" : "slide" }));
});

注意ico_back:当且仅当不是锚标签时,这将适用。

于 2013-06-10T10:46:13.977 回答
0

您甚至可以history.back()在单击按钮时使用

于 2013-07-11T06:12:20.693 回答