Esto es lo que uso:
<!-- jquery smooth scroll to id's -->
<script>
$(function() {
$('a[href*=#]:not([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) {
$('html,body').animate({
scrollTop: target.offset().top
}, 500);
return false;
}
}
});
});
</script>
Lo bueno de este es que puedes usar un número ilimitado de enlaces hash y los identificadores correspondientes sin tener que ejecutar un nuevo script para cada uno.
Si está utilizando WordPress, inserte el código en el footer.php
archivo de su tema justo antes de la etiqueta de cierre del cuerpo </body>
.
Si no tiene acceso a los archivos de tema, puede incrustar el código dentro del editor de publicación / página (debe estar editando la publicación en modo Texto) o en un widget de Texto que se cargará en todas las páginas.
Si está utilizando cualquier otro CMS o solo HTML, puede insertar el código en una sección que se carga en todas las páginas justo antes de la etiqueta de cierre del cuerpo </body>
.
Si necesita más detalles sobre esto, consulte mi publicación rápida aquí: jQuery desplazamiento suave a id
Espero que ayude, y avíseme si tiene alguna pregunta al respecto.