Estoy intentando crear este comportamiento: cuando el usuario desplaza una rueda del mouse (o presiona ↓), la página web se desplaza hacia abajo por la altura de la ventana.Impide que scrollTop invoque el evento de desplazamiento
he terminado con el siguiente código:
var newScrollTop,
oldScrollTop = $(window).scrollTop(),
preventScroll = false;
$(window).scroll(function() {
if (!preventScroll) {
preventScroll = true;
newScrollTop = $(this).scrollTop();
if (newScrollTop > oldScrollTop) {
$(this).scrollTop(oldScrollTop + $(window).height());
}
else {
$(this).scrollTop(oldScrollTop - $(window).height());
}
oldScrollTop = newScrollTop;
preventScroll = false;
}
});
Pero esto no funciona como yo esperaba: en la página de eventos de desplazamiento se desplaza hasta el mismo borde (inferior o superior). ¿Qué me estoy perdiendo?
ya que tienen barras de desplazamiento ocultos y deshabilitar 'keypress' parece ser innecesaria. La otra parte funciona como un encanto. Muchas gracias. – Pavlo
Me alegro de poder ser de ayuda. He notado un pequeño error en mi solución, más exactamente si cambia el tamaño del navegador en la ventana gráfica. La altura ya no es válida, ya que se almacenó en caché en DOMReady. He actualizado el código para administrar eso. – Bogdan
Gracias. Tu voto ha superado ese punto :-). – Bogdan