Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

@fengelz
Created August 8, 2013 09:39
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save fengelz/6183220 to your computer and use it in GitHub Desktop.
Save fengelz/6183220 to your computer and use it in GitHub Desktop.
Enable/Disable scrolling temporarily when needed window.scrollStopper.disableScroll(); window.scrollStopper.enableScroll();
window.scrollStopper = (function () {
var obj = {}
obj.keys = [
37, 38, 39, 40
];
obj.preventDefault = function (e) {
e = e || window.event;
if (e.preventDefault) {
e.preventDefault();
}
e.returnValue = false;
};
obj.keydown = function (e) {
for (var i = obj.keys.length; i--;) {
if (e.keyCode === obj.keys[i]) {
obj.preventDefault(e);
return;
}
}
};
obj.wheel = function (e) {
obj.preventDefault(e);
};
obj.disableScroll = function () {
if (window.addEventListener) {
window.addEventListener('DOMMouseScroll', obj.wheel, false);
}
window.onmousewheel = document.onmousewheel = obj.wheel;
document.onkeydown = obj.keydown;
};
obj.enableScroll = function () {
if (window.removeEventListener) {
window.removeEventListener('DOMMouseScroll', obj.wheel, false);
}
window.onmousewheel = document.onmousewheel = document.onkeydown = null;
};
return obj;
})();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment