jquery移动移动回归?

时间:2013-06-10 10:02:27

标签: javascript jquery jquery-mobile backbone.js

我正在使用backbone.js和jquery mobile建立一个Web应用程序。 我想为所有className“后退”按钮添加反向滑动效果。

代码看起来像这样,

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

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

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

4 个答案:

答案 0 :(得分:3)

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

  

<强> Demo

$(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 });

答案 1 :(得分: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");
          });
});

我希望这会有所帮助。

答案 2 :(得分:1)

根据Tolis Emmanouilidis的回答,你可wrap ico_backa个班级$(document).on("pageinit", "#page-id", function () { $('.ico_back').wrap($('<a/>', { "data-rel":"back", "data-transition" : "slide" })); });

ico_back

注意: 当且仅当{{1}}不是锚标记时,这将适用。

答案 3 :(得分:0)

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