如果我在第一页上向右滑动并在最后一页上离开,则jquery移动滑动会停止

时间:2015-06-10 02:03:58

标签: jquery jquery-mobile

我有4页,我可以顺利地在它们之间滑动。但是当我在第一个没有页面之前或者之后没有页面的页面上向右滑动时,我的滑动就会停止。它不会再转到下一页或上一页。

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.2 
/jquery.mobile-1.3.2.min.css" />
</head>
<body>

<div data-role="page" id="home">
HOME
</div>

<div data-role="page" id="about">
ABOUT
</div>

<div data-role="page" id="portfolio">
PORTFOLIO
</div>

<div data-role="page" id="contact">
CONTACT
</div>

<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="http://code.jquery.com/mobile/1.3.2/jquery.mobile-
1.3.2.min.js">
</script>
 <script>

        $(document).on('swipeleft swiperight', function (event) {
    if (event.type == 'swipeleft') {
        var nextPage = $.mobile.activePage.next('[data-role=page]');
        if (nextPage) {
            $.mobile.changePage(nextPage, {
                transition: "slide"
            });
        }
    }
    if (event.type == 'swiperight') {
        var prevPage = $.mobile.activePage.prev('[data-role=page]');
        if (prevPage) {
            $.mobile.changePage(prevPage, {
                transition: "slide",
                reverse: true
            });
        }
    }
});

</script>
</body>
</html>

http://jsfiddle.net/1sphmy1j/1/

1 个答案:

答案 0 :(得分:0)

问题是你的vars prevPage和nextPage不是未定义

您可以查看某些页面属性,例如

if (prevPage.html() !== undefined)

或添加自定义属性,例如&#34;数据优先&#34;和&#34;数据最后&#34;到你的第一页和最后一页,并在你的代码中检查它们,如

<div data-role="page" id="home" data-first="true">
    ....
<div data-role="page" id="contact" data-last="true">

var ap = $("body").pagecontainer("getActivePage");
if (ap.attr("data-first") !== "true") ...
if (ap.attr("data-last") !== "true") ...

请参阅Fiddle