Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/05/2013, 10:15
sergioclick
 
Fecha de Ingreso: abril-2010
Ubicación: Madrid
Mensajes: 17
Antigüedad: 14 años, 6 meses
Puntos: 0
Problemas con un efecto de desplazamiento

Hola a tod@s

Estoy tratando de hacer en JS un efecto (muy común) de desplazamiento entre diferentes links anclados de la misma página pero me surgían algunos problemas...

He agregado un Event Listener que se ejecuta en el "onload" de mi página.

Ese Event Listener, está agregando la llamada a la función smooth() en el evento click.

Esta es la función (he obviado algunas comprobaciones para hacer más ligera la lectura)


Código:
function smooth(e)
{
	$('html, body').animate({scrollTop: $(e.toElement.hash).offset().top}, 2000);
}
Cuando hago click sobre un enlace, el código funciona perfectamente, y me traslada de manera suave al elemento correspondiente.

Mi problema es el siguiente:

Cuando hago click sobre un enlace, durante un instante, la pantalla parece ir de manera automática al enlace y luego vuelve, para hacer lo que le indico desde la función smooth()

Es decir (creo) que mi función hace lo que tiene que hacer, una vez que el evento click ha hecho lo que tiene que hacer... lo cual no me gusta porque solo quiero que se ejecute lo que digo en la función smooth().

La verdad no se si me he explicado bien.. si tenéis dudas lo explicaré de otra manera.

Muchas gracias a tod@s por vuestra ayuda de antemano y un saludo!