Estoy usando esta función de JavaScript puro para desplazarme pero quiero agregar espacio en la parte superior, similar a jquery - [...].offset().top - 160; - lo hace. ¿Algunas ideas? Muy apreciado:
function scrollTo(hash) { location.hash = "#" + hash; };En lugar de recargar toda la página (Assign to location.hash hace eso), puede usar la función scrollTo incorporada...
¡Ho! por cierto, lo estabas sobreescribiendo. ;)
function scrollMeTo(hash) { let hashEl = document.querySelector("#" + hash); if (hashEl) { let hashPos = parseInt(hashEl.getBoundingClientRect().top) - 160; window.scrollTo(0, hashPos); } } scrollMeTo("two"); .spacer{ height: 1000px; } <div class="spacer"></div> <a id="one">ONE</a> <div class="spacer"></div> <a id="two">TWO</a> <div class="spacer"></div> <a id="three">THREE</a> <div class="spacer"></div>