使用滑动更改URL,并控制数据方向

时间:2012-02-12 23:10:19

标签: jquery mobile jquery-mobile mobile-safari

所以我使用以下jQuery来允许用户向左或向右滑动以导航到同一文档中的不同页面。

$('#main').bind('swiperight', function(){
    window.location = '#menu';
});
$('#main').bind('swipeleft', function(){
    window.location = '#showcase';
});
$('#showcase').bind('swiperight', function(){
    window.location = '#main';
});

问题是我无法控制数据方向。当用户向右滑动时,内容从左向右移动,反之亦然,这是有道理的。

有什么想法吗?

谢谢!

2 个答案:

答案 0 :(得分:1)

不是使用window.location,而是使用它:

// swiperight function
$.mobile.changePage("#menu", "slide", true, true);

// swipeleft function
$.mobile.changePage("#showcase", "slide", false, true);

字符串“slide”之后的布尔值指示方向(向前或向后)。

changePage函数上的文档:http://jquerymobile.com/test/docs/api/methods.html

我在这篇文章中找到了这个解决方案的一部分:sliding left to right transition in jQuery Mobile

答案 1 :(得分:0)

试试这个:

$('#main').bind('swiperight', function(){
    $.mobile.changePage("#menu",{
        reverse: true,
        transition: "slide"
});
});

$('#main').bind('swipeleft', function(){
    $.mobile.changePage("#showcase",{
        transition: "slide"
});
});
$('#showcase').bind('swiperight', function(){
    $.mobile.changePage("#main",{
        reverse: true,
        transition: "slide"
});
});

这对我有用! :)