滑动以浏览页面

时间:2013-05-01 07:26:57

标签: jquery ios navigation swipe

我是jQuery的新手,只有HTML5和CSS的基本技能。我一直试图在不使用按钮或图标的情况下创建滑动导航。我发现并尝试使用的每个代码都失败了。请帮忙。

这是最后一次上传到服务器 - dtc-wsuv.org/jcohen/strings

代码 -

<!DOCTYPE html> 
<html>

<head>
<!-- character sets for english-->
<meta charset="utf-8">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Strings</title>
<link rel="stylesheet" type="text/css" href="stylesheet.css"/>








<!-- Settings - View as App -->
<meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0;     user-scalable=0;" />
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
<meta name="apple-mobile-web-app-capable" content="yes" />

<!-- Icons -->
<!-- For third-generation iPad with high-resolution Retina display: -->
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="images/apple-touch-icon-    144x144-precomposed.png">
<!-- For iPhone with high-resolution Retina display: -->
<link rel="apple-touch-icon-precomposed" sizes="114x114" href="images/apple-touch-icon-    114x114-precomposed.png">
<!-- For first- and second-generation iPad: -->
<link rel="apple-touch-icon-precomposed" sizes="72x72" href="images/apple-touch-icon-    72x72-precomposed.png">
<!-- For non-Retina iPhone, iPod Touch, and Android 2.1+ devices: -->
<link rel="apple-touch-icon-precomposed" sizes="57x57" href="images/apple-touch-icon-    precomposed.png">

<!-- Startup Images --> 
<!-- startup image for web apps - iPad - landscape (748x1024) 
Note: iPad landscape startup image has to be exactly 748x1024 pixels (portrait, with     contents rotated).-->
<link rel="apple-touch-startup-image" href="images/startup-ipad-landscape.png"     media="screen and (min-device-width: 481px) and (max-device-width: 1024px) and     (orientation:landscape)" />

<!-- startup image for web apps - iPad - portrait (768x1004) -->
<link rel="apple-touch-startup-image" href="images/startup-ipad-portrait.png"     media="screen and (min-device-width: 481px) and (max-device-width: 1024px) and     (orientation:portrait)" />

<!-- startup image for web apps (320x460) -->
<link rel="apple-touch-startup-image" href="images/startup-iphone.png" media="screen and     (max-device-width: 320px)" />


<!-- Jquery & Stylesheets  -->  
<link rel="stylesheet" type="text/css" href="styles.css">                                                           <!-- styles.css link-->
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.0/jquery.mobile-1.0.min.css"     />
<script type="text/javascript" src="http://code.jquery.com/jquery-1.6.4.min.js"></script>
<script type="text/javascript" src="http://code.jquery.com/mobile/1.0/jquery.mobile-    1.0.min.js"></script>

<script>        
$("#home").live( 'pageinit',function(event) {
//Add Back Button To pages
$.mobile.page.prototype.options.addBackBtn = "true";
$.mobile.page.prototype.options.backBtnText = "Go Back";
$('li').each(function(index) {
var elementId = $(this).attr("id");
var rel = $(this).attr("rel");
var text = $(this).text();
elementId = '#'+elementId;
var link = elementId + '.php';
//Add event listener for each li
$(function() { 
$(elementId).live('swipe', function(event) {
//Load page that you swiped on.
$.mobile.changePage( elementId, {transition: "slideup"} );
});
});
});
});
</script>


 

<div data-role="page" id="home">
<img src="images/homebkg.png">
<div data-role="content">
<ul data-role="listview" id="swipelist">
<li id='lomax'><a href="">lomax</li>
<li id='mctell'><a href="">mctell</li>
<li id='leadbelly'><a href="">leadbelly</li>
<li id='hurt'><a href="">hurt</li>
<li id='cotten'><a href="">cotten</li>
<li id='sonhouse'><a href="">sonhouse</li>
</ul>
</div>
</div>

<div data-role="page" id="lomax">
<div data-role="content">                                                                           <!-- content -->
<div class="bio">
<img src="images/jlomax.png">
<p>
The preservation of early American folk music...
</p>
</div>
</div>                                                                                           
<div class="audioplayer">                                                                        
<audio controls="controls"> 
<source src="audio/lomax/all-the-pretty-little-horses.mp3" type="audio/mpeg">
<source src="audio/ostinato_i.ogg" type="audio/ogg">
Your browser does not support the audio element.
</audio>
</div>                                                                                         
</div>
<div data-role="page" id="mctell">
<div data-role="content">                                                                       
<div class="bio">
<img src="images/mctell.png">
<p>
William Samuel McTier (1898-1959, Thomson, GA) studied music from a young age...
</p>
</div>
</div>                                                                                        
<div class="audioplayer">                                                                        
<audio controls="controls"> 
<source src="audio/mctell/bollweevil.mp3" type="audio/mpeg">
<source src="audio/ostinato_i.ogg" type="audio/ogg">
Your browser does not support the audio element.
</audio>
</div>                                                                                        
</div>...

2 个答案:

答案 0 :(得分:0)

你试过这种方法吗? http://jquerymobile.com/demos/1.3.0-beta.1/docs/demos/swipe/swipe-page.html

它似乎至少适用于HTML页面

答案 1 :(得分:0)

这对我有用。      $(文件).on(&#34; pageinit&#34;,&#34; [data-role =&#39; page&#39;]。uebungen_pages&#34;,function(){

    var page = "#" + $( this ).attr( "id" ),
                        // Get the filename of the next page that we stored in the data-next attribute
                        next = $( this ).jqmData( "next" ),

                        // Get the filename of the previous page that we stored in the data-prev attribute
                        prev = $( this ).jqmData( "prev" );


    /* ##############  Pause start/stop ###########################*/

    // Check if we did set the data-next attribute
    if ( next ) {

        // Prefetch the next page
        $.mobile.loadPage( "#"+next);

        // Navigate to next page on swipe left
        $( document ).off("swiperight", page).off("swipeleft", page).on( "swipeleft", page, function() {

            $.mobile.changePage( "#"+next, { transition: "slide" });
        });
        /*
        // Navigate to next page when the "next" button is clicked
        $( ".control .next", page ).on( "click", function() {
            $.mobile.changePage( next + ".html", { transition: "slide" } );
        });
        */
    }

 // Disable the "next" button if there is no next page
else {
        $( ".control .next", page ).addClass( "ui-disabled" );
    }
    // The same for the previous page (we set data-dom-cache="true" so there is no need to prefetch)
    if ( prev ) {
        $( document ).off("swiperight", page).on( "swiperight", page, function() {

            $.mobile.changePage( '#'+prev, { transition: "slide", reverse: true } );
        });
        $( ".control .prev", page ).on( "click", function() {
            $.mobile.changePage(  '#'+prev , { transition: "slide", reverse: true } );
        });
    }
    else {
        $( ".control .prev", page ).addClass( "ui-disabled" );
    }


 });