0

jqm 1.1.1 および cordorva 2.0.0

フッター内でクリックをトラップしています。クリックすると、ナビゲーション バーの show()/hide() を切り替えます。

これまでのところ、タップをトラップしています。ナビゲーションバーは表示/非表示になっていますが、表示されると、ナビゲーションバーの高さだけページが長くなります。この長さは目立ちませんが、ナビゲーション バーが非表示になった後でもページがスクロール可能になります。(ナビゲーションバーの高さをページの下部に一度だけ追加します。)

参考までに、「タップして切り替え」はオプションではありません。画面の ui-content 部分をタップする必要があり、他のクリッカブルがあるため、フッターでクリックをトラップする必要があるためです。

ナビゲーションバーが拡張機能よりもオーバーレイになるように、ページの下部にその長さを追加しないようにするにはどうすればよいですか、または hide(); で余分な高さを削除するにはどうすればよいですか?

フッター コードは次のようになります。

<div data-role="footer" data-position="fixed" data-theme="b">
  <div id="menu" data-role="navbar" data-iconpos="top">
    <ul>
      <li><a href="#" data-icon="gear">Settings</a></li>
      <li><a href="#" data-icon="delete">Delete</a></li>
    </ul>
  </div>
  <h6>App Footer Text</h6>
</div><!-- /footer -->  

表示/非表示の JavaScript は次のとおりです。

if(stateMenu == false)
{
  $('#menu').addClass('fixed');
  $("#menu").show();
  stateMenu = true; 
}
else
{
  $('#menu').removeClass('fixed'); 
  $('#menu').hide();  
  stateMenu = false;
}   

皆さんありがとう...

4

1 に答える 1

0

これを show ブロックに追加します。

$('#menu').css('display', 'normal');

これを hide ブロックに追加します。

$('#menu').css('display', 'none');

これにより、dom から div が削除されるため、メニューが表示/非表示になり、本来あるべきように見えます... メニュー ボタンを含む任意のイベントに関連付けることができます (メニュー ボタンとフッター内のタップに関連付けました)。

于 2012-10-01T21:06:00.583 に答える