2014-09-18 4 views
2

У меня есть две страницы, это те условия, которых я не могу достичь, пожалуйста, дайте мне знать, если это невозможно.Отключить Колесо мыши для прокрутки вверх или вниз

  1. На одной странице мне нужно отключить колесо мыши для прокрутки вверх. Поэтому, когда я прокручиваю колесико мыши, ничего не происходит, но когда я прокручиваю вниз страницы прокрутки.

  2. На другой странице, я хочу иметь прямо противоположное, мне нужно отключить прокрутку на колесике мыши. Поэтому, когда я прокручиваю вниз, ничего не происходит, но когда я просматриваю свитки страниц.

Это все, что мне действительно нужно, но если вы считаете, что мне нужно больше объяснить, пожалуйста, дайте мне знать, спасибо.

+0

Не совсем, мне нужно отключить отдельные направления колеса мыши. – Ogdila

ответ

2

Случай предотвращения прокрутки мыши вниз (для мыши прокрутки вверх просто изменить оператор сравнения '<'):

$(window).on("wheel mousewheel", function(e){ 
    if(e.originalEvent.deltaY > 0) { 
     e.preventDefault(); 
     return; 
    } else if (e.originalEvent.wheelDeltaY < 0) { 
     e.preventDefault(); 
     return; 
    }  
}); 

Нам нужно проверить два значения из-за проблем с браузером.

jsFiddle link

+0

Кажется, не работает, не могли бы вы дважды проверить? Благодарю. – Ogdila

+0

Прошу прощения, потому что я использовал этот код. Исправлено. Кроме того, добавил скрипку. – Eternal1

+0

Отлично! Благодаря! – Ogdila

-2

Вы можете попробовать это, чтобы отключить прокрутку мыши. Я понимаю, что это не так, как ваш вопрос, но я считаю, что это может вам помочь.

JS:

function disableMouseScroll() { 
    return false; 
} 
document.onmousewheel=disableMouseScroll; 

Link

+0

@TheLittlePig Спасибо, но только для вашей информации, недавно я сделал это отключение мыши прокрутки. Поэтому я решил оставить свой ответ так, как я знаю, и я его разместил. Я считаю, что это не о копировании, а о том, как кто-то помогает другим. –

1

Этот код работает для DIV с идентификатором "mydiv". Вы можете изменить mydiv на тело или любой другой элемент, который вы хотите. Код работает во всех браузерах.

JS:

var mydiv = document.getElementById("mydiv"); 
if (mydiv.addEventListener) { 
    // IE9, Chrome, Safari, Opera 
    mydiv.addEventListener("mousewheel", MouseWheelHandler, false); 
    // Firefox 
    mydiv.addEventListener("DOMMouseScroll", MouseWheelHandler, false); 
} 
// IE 6/7/8 
else 
    mydiv.attachEvent("onmousewheel", MouseWheelHandler); 


function MouseWheelHandler(e) { 

    // cross-browser wheel delta 
    var e = window.event || e; // old IE support 
    var delta = Math.max(-1, Math.min(1, (e.wheelDelta || -e.detail))); 

    if(delta==1)   // if mouse scrolls up 
    { 
     alert('up'); 
    } 
    if(delta==-1)  // if mouse scrolls down, we disable scrolling. 
    { 
     e.preventDefault(); 
     e.stopPropagation(); 
     return false; 
    } 
    return false; 
} 

ПРИМЕЧАНИЕ: Не забудьте установить переполнение авто или прокрутки для работы этой функции.

Рабочего пример: Click Here

Надеется, что это помогает.

Смежные вопросы