Para el sitio en el que estoy trabajando, quiero que las personas puedan hacer clic en un tema, ir a esa página y luego tener un botón en la parte inferior de esa página que los llevará de regreso a donde estaban navegando antes.
El siguiente script funcionó para eso:
$(document).ready(function() { $('html, body').hide(); if (window.location.hash) { setTimeout(function() { $('html, body').scrollTop(0).hide(); $('html, body').animate({ scrollTop: $(window.location.hash).offset().top - 100 }, 100) }, 0); } else { $('html, body').show(); } });Sin embargo, no es el mejor UX. Cuando se carga, salta incómodamente rápido al lugar al que estoy tratando de llevarlos o tienes que verlo desplazarse lentamente, lo que tampoco es divertido.
Tengo que hacer que se desplace porque, de lo contrario, se rompen otras animaciones en la página, así que pensé en ocultar todo mientras se desplaza, luego mostrarlo o atenuarlo cuando termine.
Escribí lo siguiente para hacer eso, y lo oculta, lo muestra y el registro de la consola se activa... Pero ya no se desplaza hacia abajo hasta donde quiero que vaya.
¿Alguna ayuda?
$(document).ready(function() { $('html, body').hide(); if (window.location.hash) { setTimeout(function() { $('html, body').scrollTop(0).hide(); $('html, body').animate({ scrollTop: $(window.location.hash).offset().top - 100 }, 100, function() { $('html, body').show(); console.log("JHjlkjl"); }) }, 0); } else { $('html, body').show(); } });