Tengo una serie de divs que se colapsan y se abren y me gustaría que el navegador se desplazara hasta la parte superior de los divs abiertos.
Estoy tratando de hacer esto usando enlaces de anclaje y guardando el enlace de anclaje en una variable "scrollClass", pero mi código no funciona. Sin embargo, cuando pruebo el registro de la consola, muestra exactamente lo que quiero que genere. No estoy seguro de si se trata de una situación de sintaxis o no.
Agradecería cualquier ayuda que pueda obtener aquí.
Gracias por adelantado.
<script> $('.discover-btn-open, .discover-btn-open a').click(function(e) { e.preventDefault(); var currentElement = $(document.activeElement); var scrollClass = $(this).closest('.discover-inner').find('#discover- anchor').attr('href'); $(".discover-inner").removeClass("discover-inner-open"); $(this).closest(".discover-inner").addClass("discover-inner-open"); console.log(scrollClass); $('html, body').animate({scrollTop: $(scrollClass).offset().top - 100}, 450); }); $('.discover-close, .discover-close a').click(function(e) { e.preventDefault(); $(this).closest(".discover-inner").removeClass("discover-inner-open"); }); </script>Está configurando el atributo href para scrollClass y cuando intenta usarlo como un elemento, no funcionará. Intente eliminar la parte attr("href") y luego use .offset .
También puede activar el clic en el elemento de anchor al que desea desplazarse a través de jQuery.