2016-04-18 4 views
0

私はオーバーフロー:隠された体の中にモバイルウェブマップアプリケーションを持っています。身体の右側に部分的に隠れている地図の凡例と、身体の下部に部分的に隠れているメニューがあります。開いているダイアログ内のタッチスクロールのみ。全身を動かさないでください

コントロールの部分的に表示されている部分をクリックし、コントロールをスライドして表示させることを考えます。

ボトムメニューはボディよりも高く、y方向にスクロールする必要があります。

問題は、touchmoveイベントハンドラのデフォルトを無効にすることによってスクロールを防止できること、またはスクロールを有効にすることです。つまり、メニューをクリックするとショップ全体のアプリケーション全体が移動できるようになります。

アプリケーションは、ここではhttps://geolytix.net/mobilemap

私はGoogle Chromeのdevのツールにタッチスクロール動作をテストするための応答ビューを使用してアクセスすることができます。

凡例項目のスクロールを無効にしますが、下部の大きなメニュースライダーでスクロールを無効にすることはできません。

私は何を防ぐためにしようとしていると、ユーザーはただのようなので、画面からメニューをプッシュということである。

enter image description here

答えて

1

一つの方法は、あなたのCSSに追加することです

html, body {position: fixed;}

を使用して、スクロールの可能性を防止します。今

、あなたのメニューをスクロール可能にするには、次の行をあなたのCSSに

#sliderPanel {height: 100%;overflow-y: scroll;} 

を追加あなたは今、Y軸上のメニューをスクロールすることができます。

+0

位置:htmlとbody(またはbodyのみ)で固定されているため、身体が動かないようにします。私は全くメニューをスクロールできません。 #sliderPanelをスクロールするようにoverflow-yを設定します。私はライブバージョンを更新しました。 –

+0

あなたは高さを設定するのを忘れました:100%; #sliderPanelにあります。 あなたがポジションを動かすと、それはより良いでしょう。あなたの材料の中に。 – kies

+0

完璧な作品です。どうもありがとう。私はライブアプリを変更し、このソリューションでは不要なタッチムーブのオーバーライドも削除しました。 –