我正在使用backbone.js和jquery mobile建立一个Web应用程序。 我想为所有className“后退”按钮添加反向滑动效果。
代码看起来像这样,
$('.ico_back').live('click', function(event) {
$.mobile.back();
return false;
});
有谁知道如何向$.mobile.back()
功能添加反向效果?
(这是一个单页应用,所以我不能用传统的JQM方式做到这一点:比如添加一个简单的data-transition="slide"
)
答案 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-rel
和data-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_back
个a
个班级$(document).on("pageinit", "#page-id", function () {
$('.ico_back').wrap($('<a/>', { "data-rel":"back", "data-transition" : "slide" }));
});
ico_back
注意强>: 当且仅当{{1}}不是锚标记时,这将适用。
答案 3 :(得分:0)
您甚至可以在按下按钮时使用history.back()