Obviamente no funciona porque solo te limitaste a copiar y pegar el código y no lo adaptaste a lo que necesitas.
La idea es que el desplazamiento se realice hasta la ubicación del elemento, que, utilizando la propiedad en mención, será el borde superior del mismo.
Un ejemplo:
Código HTML:
Ver original
<p id="foo">Contenido
</p> <p id="bar">Contenido
</p> <p id="bin">Contenido
</p> <p id="baz">Contenido
</p>
Código Javascript
:
Ver originaldocument.addEventListener("click", function(event){
if (event.target.className == "scroll"){
window.scrollTo(0, document.querySelector(event.target.dataset.id).offsetTop);
}
}, false);
Hay cuatro botones con la misma clase y
pseudoatributos cuyos valores son los identificadores de los cuatro párrafos que se encuentran debajo de ellos. Cuando se produzca el evento
click
en el documento, tomamos al
elemento directamente afectado por el evento y comprobamos que su clase sea la misma que asignamos a los botones; de ser así, desplazamos la barra vertical hasta la posición del elemento en cuestión.
DEMO
Es básicamente el mismo resultado que conseguirías utilizando enlaces y anclas.
Un saludo