2012-01-11 13 views

答えて

3

このようなサンプルjQuery Mobileアプリケーションを作成しました。 - ポートレートモードでは分割ビューのレイアウトが表示されます。ランドスケープモードでは、ヘッダーのボタンを使用してナビゲーションを実行できます。デスクトップブラウザでは、width500pxと表示されます。width>500 px、分割ビュー。 width <500pxの場合、ヘッダーのボタン。

これは、ソースコードである:

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

     <meta name="viewport" content="width=device-width, initial-scale=1"> 
     <link rel="stylesheet" href="http://code.jquery.com/mobile/1.0/jquery.mobile-1.0.min.css" /> 
     <link rel="stylesheet" href="http://jquerymobile.com/test/docs/_assets/css/jqm-docs.css"/> 
     <script type="text/javascript" src="http://code.jquery.com/jquery-1.6.4.min.js"></script> 
     <script> 
      function showNavList() { 
       $(".navdiv").toggle(); 
      } 

      $(".page").live("pagebeforeshow", function() { 
       $(".navdiv").hide(); 
      }); 
     </script> 
     <script type="text/javascript" src="http://code.jquery.com/mobile/1.0/jquery.mobile-1.0.min.js"></script> 
     <style> 

     .content-secondary{ 
      margin: 0px !important; 
      padding:0px !important; 
     } 

     /*refer http://css-tricks.com/snippets/css/media-queries-for-standard-devices/ */ 
     /* Smartphones (landscape) ----------- */ 
     @media all and (min-width: 501px){/*For demo in desktop browsers,gave 501.Should be 321px.Refer above link*/ 
      .headerNav{ 
       display:none !important; 
      } 
      .content-secondary{ 
       display: block; 
      } 
      .navdiv{ 
       display:none !important; 
      } 
     } 

     /* Smartphones (portrait) ----------- */ 
     @media all and (max-width: 500px){/*320px*/ 
      .headerNav{ 
       display:block !important; 
      } 
      .content-secondary{ 
       display: none; 
      } 
     } 
     </style> 
    </head> 
    <body> 
     <div data-role="page" class="page" id="page1"> 
      <div class="navdiv" style="width:150px;top:38px;left:5px;position:absolute;z-index:1000;display:none"> 
       <ul data-role="listview"> 
        <ul data-role="listview" data-theme="c"> 
         <li class="ui-btn-active" data-icon="false"> 
          <a href="#page1">Page 1</a> 
         </li> 
         <li data-icon="false"> 
          <a href="#page2">Page 2</a> 
         </li> 
         <li data-icon="false"> 
          <a href="#page3">Page 3</a> 
         </li> 
        </ul> 
       </ul> 
      </div> 
      <div data-role="header"> 
       <h1>Page 1</h1> 
       <a href="#" class="headerNav" onclick="showNavList()">Navigation</a> 
      </div><!-- /header --> 
      <div data-role="content"> 
       <div class="content-primary"> 
        Content1 
       </div> 
       <div class="content-secondary"> 
        <ul data-role="listview" data-theme="c"> 
         <li class="ui-btn-active" data-icon="false"> 
          <a href="#page1">Page 1</a> 
         </li> 
         <li> 
          <a href="#page2" data-icon="false">Page 2</a> 
         </li> 
         <li> 
          <a href="#page3" data-icon="false">Page 3</a> 
         </li> 
        </ul> 
       </div> 
      </div><!-- /content --> 
     </div><!-- /page --> 
     <div data-role="page" class="page" id="page2"> 
      <div class="navdiv" style="width:150px;top:38px;left:5px;position:absolute;z-index:1000;display:none"> 
       <ul data-role="listview"> 
        <ul data-role="listview" data-theme="c"> 
         <li data-icon="false"> 
          <a href="#page1">Page 1</a> 
         </li> 
         <li data-icon="false" class="ui-btn-active"> 
          <a href="#page2">Page 2</a> 
         </li> 
         <li data-icon="false"> 
          <a href="#page3">Page 3</a> 
         </li> 
        </ul> 
       </ul> 
      </div> 
      <div data-role="header"> 
       <h1>Page 2</h1> 
       <a href="#" class="headerNav" onclick="showNavList()">Navigation</a> 
      </div><!-- /header --> 
      <div data-role="content"> 
       <div class="content-primary"> 
        Content2 
       </div> 
       <div class="content-secondary"> 
        <ul data-role="listview" data-theme="c"> 
         <li data-icon="false"> 
          <a href="#page1">Page 1</a> 
         </li> 
         <li class="ui-btn-active" data-icon="false" > 
          <a href="#page2">Page 2</a> 
         </li> 
         <li data-icon="false"> 
          <a href="#page3">Page 3</a> 
         </li> 
        </ul> 
       </div> 
      </div><!-- /content --> 
     </div><!-- /page --> 
     <div data-role="page" class="page" id="page3"> 
      <div class="navdiv" style="width:150px;top:38px;left:5px;position:absolute;z-index:1000;display:none"> 
       <ul data-role="listview"> 
        <ul data-role="listview" data-theme="c"> 
         <li data-icon="false"> 
          <a href="#page1">Page 1</a> 
         </li> 
         <li data-icon="false"> 
          <a href="#page2">Page 2</a> 
         </li> 
         <li data-icon="false" class="ui-btn-active"> 
          <a href="#page3">Page 3</a> 
         </li> 
        </ul> 
       </ul> 
      </div> 
      <div data-role="header"> 
       <h1>Page 3</h1> 
       <a href="#" class="headerNav" onclick="showNavList()">Navigation</a> 
      </div><!-- /header --> 
      <div data-role="content"> 
       <div class="content-primary"> 
        Content3 
       </div> 
       <div class="content-secondary"> 
        <ul data-role="listview" data-theme="c"> 
         <li> 
          <a href="#page1">Page 1</a> 
         </li> 
         <li> 
          <a href="#page2">Page 2</a> 
         </li> 
         <li class="ui-btn-active"> 
          <a href="#page3">Page 3</a> 
         </li> 
        </ul> 
       </div> 
      </div><!-- /content --> 
     </div><!-- /page --> 
    </body> 
</html> 

これは、この機能はdone.Thereことができる方法を説明するための確実なapplication.Butがちょうど荒いコピーではありません、物事の多くは、これを作るために行われることはまだあります完璧に動作します。

私はmedia queriesのコンセプトを使用しました。それを使用すると、ブラウザの幅(デバイスの向き)に応じてレイアウトを選択的に表示/非表示できます。

P.S.この例ではjqm-docs.cssを使用しています。このCSSには他の幅をターゲットとした他のメディアクエリもあります。このコードをテストすると奇妙なレイアウトの問題が生じる可能性があります。そのCSSを修正して不要なメディアクエリを削除してください。

助けてくれたら教えてください

+0

ありがとう@ user700284!それは非常にうまくいく、多分メニューのスタイルは非常に簡単ですが、私たちはそれを修正する方法を知っていることを心配しないでください。ありがとうございました。 –