Прокрутка документа

AG
На сайте с 13.10.2014
Offline
44
661

Доброго времени суток.

Подскажите пожалуйста. Вот нашел такой скрипт, он блокирует колесико мыши.

Добавил лишь включение блокировки колесика при клике по кнопке y. Выглядит так:

$(document).ready (function () {
$("body").on('click', '.y', scOff);
function scOff() {
function disableWheelScroll(){
if (document.body.addEventListener) document.body.addEventListener('DOMMouseScroll', blockWheel, false);
document.body.onmousewheel = blockWheel;
}
function blockWheel(event){
if (!event) event = window.event;
if (event.stopPropagation) event.stopPropagation();
else event.cancelBubble = true;
if(event.preventDefault) event.preventDefault();
else event.returnValue = false;
}
disableWheelScroll();
});

Вопрос в следующем. Как, например по кнопке z вернуть обратно прокрутку? Без перезагрузки страницы.

$(document).ready (function () {
$("body").on('click', '.z', scOn);
function scOn() {
function disableWheelScroll(){
...
}
disableWheelScroll();
});
ДП
На сайте с 23.11.2009
Offline
203
#1

есть функция removeEventListener - https://developer.mozilla.org/ru/docs/Web/API/EventTarget/removeEventListener

Нужно ей воспользоваться при клике на кнопке z.

Или же сделать какую-то глобальную переменную-флаг, в которой хранить текущее состаяние - надо блокировать прокрутку или нет и внутри blockWheel смотреть на значение этого флага. В производительности только не уверен.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий