2012-04-10 13 views
0

jQueryモバイルで気になる点がありますが、私はPhonegapプロジェクトで使用しようとしています。jQueryモバイルデータフルスクリーンのツールバーが100%隠されていない

ヘッダーを希望します&フッターツールバーは、すべてのコンテンツが表示されるように画面をタップすると完全に消えます。

私はこのコードを持っている:

<!DOCTYPE html> 
<html> 
    <head> 
    <title></title> 

    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no;" /> 
    <meta charset="utf-8"> 

    <link rel="stylesheet" href="http://code.jquery.com/mobile/1.1.0-rc.1/jquery.mobile-1.1.0-rc.1.min.css" /> 

    <script type="text/javascript" charset="utf-8" src="cordova-1.5.0.js"></script> 
    <script src="http://code.jquery.com/jquery-1.7.1.min.js"></script> 
    <script src="http://code.jquery.com/mobile/1.1.0-rc.1/jquery.mobile-1.1.0-rc.1.min.js"></script> 
    <script type="text/javascript"> 

    function onBodyLoad() 
    {  
     document.addEventListener("deviceready", onDeviceReady, false); 
    } 

    function onDeviceReady() 
    { 

    } 

    </script> 
    </head> 
    <body onload="onBodyLoad()"> 

     <div data-role="page" data-fullscreen="true"> 

      <div data-role="header" data-fullscreen="true" class="ui-bar-a ui-header ui-header-fixed fade ui-fixed-overlay" data-position="fixed"> 
       <h1>Hide Header/Footer</h1> 
      </div> 

      <div data-role="content"> 
       <p>Hello</p> 
       <p>Hello</p> 
       <p>Hello</p> 
       <p>Hello</p> 
      </div> 

       <div data-role="navbar" data-position="fixed" data-fullscreen="true"> 
        <ul> 
         <li><a href="" class="ui-btn-active">One</a></li> 
         <li><a href="">Two</a></li> 
        </ul> 
       </div> 

     </div> 

    </body> 
</html> 

jQueryのモバイルドキュメントで指示し、どこの領域にページを下にスクロールしたときに、これは正常に動作するように私はデータフルスクリーン =「true」を使用していましたヘッダーとフッターは静的であれば見えません。

問題は、たとえば、静的なヘッダーが表示されているときに画面をタップすると消えているようにスライドしますが、空の黒いツールバーは任意のテキスト。

は、私はそれがドキュメントの例である正確にどのようにコードをコピーしようとしていると私は、このページに、ツールバーが正しく消え、同じ問題を取得:jQuery Demo

答えて

0

は、ヘッダーとフッターdiv要素の両方にdata-position="fixed"属性を追加します助けてください。

2

私は同じ問題がありました。ヘッダー、コンテンツ、フッターにcss(position:absoluteとheight:0)を挿入する必要があります。あなたがここにhttp://jsfiddle.net/laynusfloyd/C3Y5X/

を完全anwserを確認することができます

$(function() { 


$('#fullScreen').on({ 
    'click': function() { 

    $("div[data-role='footer']").addClass('hideContentHeaderFooter'); 
    $("div[data-role='header']").addClass('hideContentHeaderFooter'); 
      $("div[data-role='content']").addClass('fullContentWithoutHeaderAndFooter'); 
    } 
}); 

$('#closeFullScreen').on({ 
    'click': function() { 

    $("div[data-role='footer']").removeClass('hideContentHeaderFooter'); 
    $("div[data-role='header']").removeClass('hideContentHeaderFooter'); 
      $("div[data-role='content']").removeClass('fullContentWithoutHeaderAndFooter'); 
    } 
}); 

    }); 

<div data-role="page" id="pageDefault"> 
    <div data-role="header"> 
     <h1>Header</h1> 
    </div> 
    <div data-role="content" style="background-color : white;"> 

     <button type="button" id="fullScreen" >Full Screen Content</button> 

      <a href="#" id="closeFullScreen" data-role="button" data-icon="delete" data-iconpos="notext" class="ui-btn-left" >Cerrar</a> 
     <img src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQncv8Hwg5UXuB-xFIFmu8BKpmgcVDU2Yh99ejuOiXk-Tfp_RJOZQ" alt="SW" height="100%" width="100%"> 


    </div> 
    <div data-role="footer" data-position="fixed" > 
     <p>Footer</p> 
    </div> 
</div> 

のCss:

html, body { 
    height : 100%; 
} 


#pageDefault .ui-content { 
    position: absolute; 
    top: 35px; 
    right: 0; 
    bottom: 0; 
    left: 0; 
} 

[data-role=footer] 
{ 
    bottom: 0 !important; 
    height: 35px !important; 
    width: 100% !important; 
    vertical-align: middle !important; 
} 
[data-role=header] 
{ 
    bottom: 0 !important; 
    height: 35px !important; 
    width: 100% !important; 
    vertical-align: middle !important; 
} 
.hideContentHeaderFooter 
{ 
    position : absolute !important ; 
    bottom : 0 !important ; 
    left  : 0 !important ; 
    height : 0 !important ; 
    display: none; 
} 
.fullContentWithoutHeaderAndFooter 
{ 
     position : absolute !important; 
    top  : 0 !important; 
    right : 0 !important; 
    bottom : 0 !important; 
    left  : 0 !important; 
} 

とjQueryを使用すると、このようにそれを行うことができます

関連する問題