どうも!かけちまるです!
サイトのスクロールを一時的に無効にしたいことがあると思います。
例えば、モーダルウィンドウが開いている時や、OPアニメーション後に必ずメインビジュアルを見せたい時などにこれから紹介するスクロールを無効にする方法が使えると思います。
この記事では、
がわかります。
CSSでスクロール無効が実装可能ですがいくつか弊害があるのでJavaScriptで実装することをおすすめします。
その弊害というのが、
の3つなのでJavaScriptでスクロールを無効にする方法をマスターすることをオススメします。
この記事ではボタンをクリックすることによってスクロールを無効&有効を切り替れるようにしていきます。
実装例はこちらです。
bodyタグにoverflow: hidden;を指定することによってスクロールを無効にすることができます。
以下のコードは.no_scrollクラスをJavaScriptで追加・削除することによってスクロールする・しないを分けるための記述になります。
CSSコピーbody.no_scroll{ overflow: hidden; }
JavaScriptコピー$('#off').on('click', function(){ $('body').addClass('no_scroll'); }); $('#on').on('click', function(){ $('body').removeClass('no_scroll'); });
1行目 | id=”off”をクリックした時
bodyタグに.no_scrollを追加するとoverflow: hidden;が当てられるのでスクロールを無効にできます。
5行目 | id=”on”をクリックした時
bodyタグから.no_scrollを削除するとoverflow: hidden;が外れるのでスクロールを有効にできます。
おわり
フィードバックを送信
記事についてのフィードバックはTwitterかお問い合わせフォームから受け付けております。