Stop Body Scroll
by Luis Valle
HTML
<div>
<button id="btnFreeze" data-state="false">
Freeze Scroll
</button>
</div>
<div id="dvAppend">
</div>
JavaScript
(function () {
$("#btnFreeze").on("click", function () {
if ($(this).attr("data-state") == "false") {
$(this).attr("data-state", "true");
freezeBody();
} else {
$(this).attr("data-state", "false");
unfreezeBody();
}
});
for (var i=0; i < 8000; i++) {
$("#dvAppend").append("<span>dfadf adfasdfasdfasdfa asdfadfasfdasdfasf adfadfasdfasdfaf adfadfasfddfa</span>");
}
})();
function freezeBody() {
$("body").on("mousewheel DOMMouseScroll", function (e) {
e = e || window.event;
if (e.preventDefault)
e.preventDefault();
e.returnValue = false;
});
}
function unfreezeBody() {
$("body").off("mousewheel DOMMouseScroll");
}
function preventDefault(e) {
e = e || window.event;
if (e.preventDefault)
e.preventDefault();
e.returnValue = false;
}
function theMouseWheel(e) {
preventDefault(e);
}
function disable_scroll() {
if (document.body.addEventListener) {
window.addEventListener('DOMMouseScroll', theMouseWheel, false);
}
window.onmousewheel = document.onmousewheel = theMouseWheel;
}
function enable_scroll() {
if (window.removeEventListener) {
window.removeEventListener('DOMMouseScroll', theMouseWheel, false);
}
window.onmousewheel = document.onmousewheel = null;
}