Me he encontrado con un pequeño problema. Estoy tratando de hacer que la página se desplace a un punto específico en la carga de la página, pero no llego a ninguna parte. El código que he usado está abajo. Por alguna razón, no parece estar funcionando en absoluto.
<script type="text/javascript"> // scroll past header on page load function scrollToDiv() { $(document).ready(function () { var ele = $('html, body').animate({ scrollTop: $('#tree').position().top }, 500, 'linear'); }); }; scrollToDiv(); </script>Si tiene alguna sugerencia sobre por qué no funciona, se lo agradecería.
Estoy construyendo usando ASP.NET Core. El código jQuery anterior funcionó en un antiguo proyecto de formularios web, por lo que no tengo idea de por qué no funciona ahora.
Para hacer esto con jQuery:
<script> $(function(){ const top = $('#tree').position().top; $('html, body').animate({ scrollTop: top }, 500, 'linear'); }); </script>Sin embargo, no necesita jQuery para esto:
<script> window.addEventListener('DOMContentLoaded', () => { const target = document.getElementById('tree'); target.scrollIntoView({ behavior: 'smooth', block: 'start' }); }); </script> Ventana: Evento DOMContentLoaded - API web | MDN
Element.scrollIntoView() - API web | MDN