Foros del Web » Programando para Internet » Jquery »

[SOLUCIONADO] Desplazamiento suave al enlazar a un ancla

Estas en el tema de Desplazamiento suave al enlazar a un ancla en el foro de Jquery en Foros del Web. Buenas tardes a todos! En un diseño web que estoy preparando, estoy enfocandolo a que sea una web de una sola página en distintos bloques. ...
  #1 (permalink)  
Antiguo 21/06/2013, 09:46
Avatar de madman_18  
Fecha de Ingreso: agosto-2010
Mensajes: 792
Antigüedad: 14 años, 4 meses
Puntos: 14
Pregunta Desplazamiento suave al enlazar a un ancla

Buenas tardes a todos!

En un diseño web que estoy preparando, estoy enfocandolo a que sea una web de una sola página en distintos bloques.

Hasta ahí perfecto pero querría que el desplazamiento hasta el contnenido, cuando me pulsen en el menú, sea suave y no "de golpe".

Tengo el siguiente código:

Código Javascript:
Ver original
  1. $('#menu ul li a').click(function(e){ //Id del elemento cliqueable
  2.                         e.preventDefault();
  3.                         var offset = $($(this).attr('href')).offset().top;
  4.                         $('html, body').animate({scrollTop:offset}, 1600);
  5.                         return false;
  6.                     });

Pero no me funciona, sigue desplazandose de golpe y no con un efecto suave.

¿Alguna ayuda?

Gracias!!
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, te convertes en algo muy diferente"
  #2 (permalink)  
Antiguo 21/06/2013, 10:13
Avatar de herzbazi  
Fecha de Ingreso: febrero-2012
Mensajes: 612
Antigüedad: 12 años, 9 meses
Puntos: 36
Respuesta: Desplazamiento suave al enlazar a un ancla

yo lo haria algo asi


en el head

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"
type="text/javascript" charset="utf-8"></script>

en el body

<a href="#ancla">Ancla</a>

<div id="ancla">
... contenido
</div>

esto en el head tambien

$(function(){

$('a[href*=#]').click(function() {

if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'')
&& location.hostname == this.hostname) {

var $target = $(this.hash);

$target = $target.length && $target || $('[name=' + this.hash.slice(1) +']');

if ($target.length) {

var targetOffset = $target.offset().top;

$('html,body').animate({scrollTop: targetOffset}, 1000);

return false;

}

}

});

});


prueba si es eso lo que buscas , si te ayude sumame un puntillo jajajaj
__________________
Enseña todo lo que sepas...
Aprende todo lo que puedas..

Última edición por herzbazi; 21/06/2013 a las 10:14 Razón: falto contendio
  #3 (permalink)  
Antiguo 24/06/2013, 01:12
Avatar de madman_18  
Fecha de Ingreso: agosto-2010
Mensajes: 792
Antigüedad: 14 años, 4 meses
Puntos: 14
Respuesta: Desplazamiento suave al enlazar a un ancla

Jajaja gracias! con esto funciona sí! ;)
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, te convertes en algo muy diferente"

Etiquetas: desplazamiento, enlazar
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 12:09.