remove para keyframes imagenes examples ejemplos avanzadas attribute animaciones javascript jquery scroll jquery-animate

javascript - para - keyframes css3 ejemplos



¿Cómo deshabilitar el desplazamiento hasta que se complete la animación? (2)

Estoy usando este código para desplazarme a un cierto elemento en mi página:

$("html, body").animate({scrollTop: $(".myDiv").offset().top}, 300);

Funciona, pero hay un problema: cuando el usuario se desplaza hacia abajo mientras el script se desplaza hacia arriba, se producen algunos temblores debido a que hay dos comandos de desplazamiento al mismo tiempo en diferentes direcciones, me parece lógico.

Revisé algunos otros sitios con esa funcionalidad de desplazamiento, no hay temblores. Entonces, ¿cuál es el truco para evitar esto?


Eso es un error jQuery cuando usas animate con desplazamiento, buena detección.

Investigué cómo desactivar el desplazamiento y encontré esta pregunta: ¿Cómo deshabilitar el desplazamiento temporalmente?

Aquí está jsFiddle. Verás luego de hacer clic; el usuario no puede desplazarse hasta que se complete la animación.

$(''.myDiv'').click(function(){ disable_scroll(); $(''html, body'').stop().animate({ scrollTop: 0 }, 700,function() { enable_scroll(); }); });

editar: gracias a galambalazs por cierto.