CSSからモーダルウィンドウを開いたときに本文ページのスクロールを削除することはできますか?
たとえば、私のボディページの高さは200%です。ページの一番下に行きたい場合は、スクロール(overflow-y:auto)を使用する必要があります。今度はモーダルウィンドウを開くと、本文ページのスクロールはアクティブなままで、モーダルウィンドウが開いたときには無効にしておきます。モーダルウィンドウが開いているときに本文ページのスクロールを非表示にする
ありがとうございます。
CSSからモーダルウィンドウを開いたときに本文ページのスクロールを削除することはできますか?
たとえば、私のボディページの高さは200%です。ページの一番下に行きたい場合は、スクロール(overflow-y:auto)を使用する必要があります。今度はモーダルウィンドウを開くと、本文ページのスクロールはアクティブなままで、モーダルウィンドウが開いたときには無効にしておきます。モーダルウィンドウが開いているときに本文ページのスクロールを非表示にする
ありがとうございます。
あなたは、リンクでは、次の操作を行うことができますクリックしたとき、モーダルウィンドウを開いている場合は、次の
// modal screen activate
$('a').live('click', function(){
modalScreen.show();
$('body').css('overflow','hidden');
});
// modal screen de-activate
$('body, html').live('click', function(){
modalScreen.hide();
$('body').css('overflow','auto');
});
私はJavaScriptを使用してlightwindowを開いていると仮定します。
あなただけの100%に体の高さを設定して隠しに溢れ-Y設定できるより。スクロールバーが削除されます。
ライトウインドウの近くですべてをリセットする必要があります。
私はwicketを使用しています。モーダルウィンドウの背面にあるメガネのJavaScriptです。私はそれを変更したくないです。そのため、CSSやjQueryで本文ページのオーバーフローを無効にする方法を見つけようとしています。 – mcmwhfy
jQueryを使用して任意のCSSを設定できます。$( 'body')。css({'height': '100%'、 'overflow-y': 'hidden'});そのような何かがトリック(未テスト)を行う必要があります。 –
position:fixed
を使用して、left
とtop
をパーセントで設定し、次にmargin-left
をピクセル単位で負の値に設定します。例えばwidth: 700px; left: 50%, margin-left: -350px;
を水平に中央に配置します。
またはちょうどあなたのスクリプトにクラスを追加および削除:
$('body').addClass('modal-open'); //when modal is open
$('body').removeClass('modal-open'); //when modal is closed
次にあなたが行くことができますあなたのCSSファイルに追加し、複数のCSSスタイルを追加します。スクロールバーの使用を隠すために:あなたはより多くのものを変更したいとき
.modal-open {
overflow: hidden;
}
は、特に私はこの方法を好むが、それは私の意見です。好きなものを使ってください!
モーダルウィンドウに 'position:fixed'を使用すると、ユーザーがスクロールしても画面上にそのまま残ります。 – Oliver
はい、私はすでにポジションを持っていることを知っています:モーダルに固定されていますが、ボディページのスクロールを無効にしたいと思います。 – mcmwhfy