Quiero hacer que una página web se desplace automáticamente a un elemento determinado; sin embargo, no quiero que el desplazamiento combata la entrada del usuario-- Si comienza a desplazarse y luego el usuario se desplaza, quiero que el desplazamiento automático se detenga y deja que el usuario tenga control total.deja que el desplazamiento del usuario detenga la animación jquery de scrolltop?
Así que originalmente se pensó que podía hacer algo como esto: sin embargo
var animatable = $('body, html');
animatable.animate({scrollTop: $('#foo').offset()}, 1000);
$(window).scroll(function() { animatable.stop(); });
, el problema es-- la animación de la scrollTop desencadena el controlador de eventos de desplazamiento de la ventana! Entonces, la animación comienza y luego se detiene de inmediato.
Estoy buscando una manera en la que pueda hacer que mi manejador de eventos de desplazamiento de ventana solo se detenga si se activa por la entrada del usuario ... ¿Es esto posible?
que funcionó a las mil maravillas. Gracias por responder a esta pregunta. – ghayes
Para dispositivos con pantalla táctil, necesitará agregar 'touchstart' a su lista de eventos, y verifíquela en el evento en sí' ... || e.type == 'touchstart'' –
@Benjammin' - buen consejo, pequeño nitpick - use '===' en lugar de '==' –