Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Problemas con un efecto de desplazamiento

Estas en el tema de Problemas con un efecto de desplazamiento en el foro de Javascript en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 29/05/2013, 10:15
 
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!
  #2 (permalink)  
Antiguo 02/06/2013, 07:18
 
Fecha de Ingreso: abril-2010
Ubicación: Madrid
Mensajes: 17
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Problemas con un efecto de desplazamiento

Ya encontré la solución:

En este caso, para cancelar el evento por defecto que aplica el navegador usamos event.preventDefault

http://www.etnassoft.com/2011/04/19/jquery-el-mal-uso-de-return-false/

Etiquetas: jquery, scrollto
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:42.