0
ページのスクロールを無効にする方法を教えてください。オーバーフローを使わないでスクロールを無効にする方法:非表示と位置:固定?
var keys = { 37: 1, 38: 1, 39: 1, 40: 1 };
function preventDefault(e) {
e = e || window.event;
if (e.preventDefault) e.preventDefault();
e.returnValue = false;
}
function preventDefaultForScrollKeys(e) {
if (keys[e.keyCode]) {
preventDefault(e);
return false;
}
}
function disableScroll() {
if (window.addEventListener) // older FF
window.addEventListener('DOMMouseScroll', preventDefault, false);
window.onwheel = preventDefault; // modern standard
window.onmousewheel = document.onmousewheel = preventDefault; // older browsers, IE
window.ontouchmove = preventDefault; // mobile
document.onkeydown = preventDefaultForScrollKeys;
}
function enableScroll() {
if (window.removeEventListener) window.removeEventListener('DOMMouseScroll', preventDefault, false);
window.onmousewheel = document.onmousewheel = null;
window.onwheel = null;
window.ontouchmove = null;
document.onkeydown = null;
}
が、それは私に適切な出力を与えていません。今私は、同様のコードを与えられた使用
overflow:hidden
または
position:fixed
を使用しています。上記のコードを使用すると私のページが変動します...私はライブラリを使用したくありません。 hidden`:
をしようか? – Arg0n
ページには既にスクロールが含まれています。任意のdivのOnclickはスクロールを隠さなければならない。それはページを変動させる。 – Prerna
問題を示すコードを作成してください。オーバーフロー:あなたが必要とするすべてが隠されているはずです。 スクロールバーを非表示にして表示すると、ページの流れが違ってきているのを確認したいのですが、問題があると思います。 – megamit