Есть ли способ отключить только прокрутку вниз в jQuery?Отключить прокрутку вниз с помощью jQuery
Большое спасибо заранее
Есть ли способ отключить только прокрутку вниз в jQuery?Отключить прокрутку вниз с помощью jQuery
Большое спасибо заранее
$('html, body').bind('DOMMouseScroll mousewheel MozMousePixelScroll', function(e) {
var scrollTo = 0;
if (e.type == 'mousewheel') {
scrollTo = (e.originalEvent.wheelDelta * -1);
}
else if (e.type == 'DOMMouseScroll') {
// scrollTo = 20 * e.originalEvent.detail; // turns out, this sometimes works better as expected...
scrollTo = e.originalEvent.detail;
}
if (scrollTo > 0) {
e.preventDefault();
return false;
}
});
Я сделал что 'scrollTo = 20 * e.originalEvent.detail;' нуждается в небольшой настройке, я больше не знаю, почему я умножаю ее на 20 :) – Alex
вы можете, однако, взглянуть на https://developer.mozilla.org/en -US/docs/Web/Events/mousewheel и отрегулируйте его по вашим потребностям – Alex
Вы забыли события касания. Но ваш ответ довольно крутой. –
После ответа Алекс, мне удалось это сделать следующим способом:
$(window).on('DOMMouseScroll mousewheel MozMousePixelScroll', function(e) {
var direction = 0;
if (e.type == 'mousewheel') {
direction = (e.originalEvent.wheelDelta * -1);
} else if (e.type == 'DOMMouseScroll') {
direction = e.originalEvent.detail;
}
var divHeight = $("#myDiv").height();
var scrollTop = $(this).scrollTop();
if (direction > 0 && scrollTop > divHeight - window.innerHeight) {
e.preventDefault();
return false;
}
});
попробовать $ (документ). scroll (function() {return false;}); –
Попробуйте этот вопрос: http://stackoverflow.com/questions/11940351/jquery-tools-touch-horizontal-only-disable-vertical-touch –
Я только хочу отключить прокрутку вниз, а не прокрутку вверх – Genzotto