スワイプ可能なメニューを作成していますが、1つの側面を除いて動作しています。私はメニューがいつも100%の高さになりたいと思っています。ユーザーがページ上をどのくらい下にスクロールしても問題ありません。ただし、height: 100%;
に設定すると、メニューはスワイプされません。高さがheight: 100vh
に設定されている場合にのみ動作するように見えますが、私のフィドルに表示されるように、これは#main
divを画面下に押し込んだものです。私はメインのdivが一番上にあり、メニューがその上に開くようにしたい。兄弟divが100%の高さで表示されない
メニューを開くには、左にスワイプする必要があり、注意してください:
私はそれがこのようなオープンにしたいのです:
html, body {
padding: 0; margin: 0;
}
div.box-parent {
height: 100vh;
/*height: 100%;*/
}
div.box {
width: 50%;
height: 100%;
background: #108040;
margin-left: -101%;
}
div.box.swipeleft {
background: #7ACEF4;
margin-left: 50%;
}
#main {
height: 800px;
width: 100%;
background: green;
}
<div class="box-parent">
<div class="box"></div>
</div>
<div id="main"></div>
$(function(){
$("body").on("swiperight", swiperightHandler);
function swiperightHandler(event){
$('.nav-panel').addClass("swiperight");
}
});
$(function(){
$("body").on("swipeleft", swipeleftHandler);
function swipeleftHandler(event){
$('.nav-panel').addClass("swipeleft");
}
});
$.mobile.loading().hide();
@Paulそれは動作しますが、 '.nav-panel'はその他のコンテンツです。メインのコンテンツよりも大きな 'z-index'が必要です。 'を追加します。nav-panel {z-index:10;} 'とすると動作します。 – Moob
ありがとうございます。私は本当にそれを感謝します ! – Paul
スワイプでこれを閉じるためにjavascriptを追加した理由を知っていますか?なぜこれは一度しか機能しませんか?私が意味することは、一度スワイプレフトとスウィーパーペイトをすることができますが、その後はスワイプを続けないことです。 – Paul