jQueryまたはjavascriptを使用してブラウザーの垂直および水平スクロールバーを無効にすることは可能ですか?
jQueryまたはjavascriptを使用してブラウザーの垂直および水平スクロールバーを無効にすることは可能ですか?
回答:
動的にスクロールバーを表示したり非表示にしたりする必要がある場合は、
$("body").css("overflow", "hidden");
そして
$("body").css("overflow", "auto");
コードのどこかに。
oveflow: hidden
スマートフォンでは何も妨げません。
function reloadScrollBars() {
document.documentElement.style.overflow = 'auto'; // firefox, chrome
document.body.scroll = "yes"; // ie only
}
function unloadScrollBars() {
document.documentElement.style.overflow = 'hidden'; // firefox, chrome
document.body.scroll = "no"; // ie only
}
これまでのところ、overflow:bodyが非表示になっています。ただし、IEは常にそれを尊重するとは限らず、body要素にもscroll = "no"を配置するか、html要素にもoverflow:hiddenを配置する必要があります。
あなたがこれを行うことができるビューポートを「制御する」必要があるとき、これをさらに進めることができます:-
<style>
body {width:100%; height:100%; overflow:hidden; margin:0; }
html {width:100%; height:100%; overflow:hidden; }
</style>
本文で100%の高さを許可された要素は、ウィンドウのビューポートの完全な高さを持ち、bottom:nnPXを使用して絶対的に配置された要素は、ウィンドウの下端のnnピクセル上に設定されます。
IEの最新バージョン(IE10以降)では、-ms-overflow-style
プロパティを使用してスクロールバーを非表示にできます。
html {
-ms-overflow-style: none;
}
Chromeでは、スクロールバーにスタイルを設定できます。
::-webkit-scrollbar {
display: none;
}
これは、Webアプリケーションで「デフォルト」のボディスクロールを使用する場合に非常に便利ですoverflow-y: scroll
。
(まだコメントはできませんが、これを共有したいと思いました):
Lynceeのコードはデスクトップブラウザで動作しました。ただし、iPad(Chrome、iOS 9)では、アプリケーションがクラッシュしました。それを修正するために、私は変更しました
document.documentElement.style.overflow = ...
に
document.body.style.overflow = ...
これは私の問題を解決しました。