Ver Mensaje Individual
  #4 (permalink)  
Antiguo 28/01/2016, 19:45
Avatar de Alexis88
Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años, 1 mes
Puntos: 977
Respuesta: Scroll up a div en lugar de a body

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
  1. <button class="scroll" data-id="#foo">Ir a Foo</button>
  2. <button class="scroll" data-id="#bar">Ir a Bar</button>
  3. <button class="scroll" data-id="#bin">Ir a Bin</button>
  4. <button class="scroll" data-id="#baz">Ir a Baz</button>
  5.    
  6. <p id="foo">Contenido</p>
  7. <p id="bar">Contenido</p>
  8. <p id="bin">Contenido</p>
  9. <p id="baz">Contenido</p>

Código Javascript:
Ver original
  1. document.addEventListener("click", function(event){
  2.     if (event.target.className == "scroll"){
  3.         window.scrollTo(0, document.querySelector(event.target.dataset.id).offsetTop);
  4.     }
  5. }, 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
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand