Ver Mensaje Individual
  #3 (permalink)  
Antiguo 09/07/2008, 14:32
Avatar de buzu
buzu
 
Fecha de Ingreso: octubre-2006
Ubicación: San Francisco, CA
Mensajes: 2.168
Antigüedad: 17 años, 6 meses
Puntos: 122
Respuesta: link interno con efecto desaceleracion

Me dio curiosidad tu pregunta y empece a desarrollar algo. Te dejo el código de lo que llevo hasta ahora. No esta terminado aun pero ya hace lo que tu quieres. Lo eh probado en Firefox y Safari y funciona bien.

Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es">
<head>
	<meta http-equiv="content-type" content="text/html; charset=utf-8" />
	<title>ScrollingSpeed</title>
	<script type="text/javascript">
		function scroll(elemento, destino){
			var posicion = window.scrollY;
			var scrolla = (destino - posicion)/5;
			nuevoscroll = posicion += scrolla
			window.scrollTo(0, nuevoscroll);
			if(window.scrollY >= (destino - 10) && window.scrollY <= (destino +10)){
				clearInterval(intervalo);
			}
			
		}
		function scroller(elemento, destino){
			intervalo = setInterval(function(){scroll(elemento, destino);}, 1);
		}
	</script>
</head>
<body id="cuerpo">
	<div id="contenido">
		<a href="" onclick="scroller('contenido', 4000); return false;">Abajo</a>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<p>algo de contenido</p>
		<a href="" onclick="scroller('contenido', 400); return false;">Arriba</a>
	</div>
</body>
</html>
Falta por hacer:

Pulir las funciones
Agregar metodos para que puedas especificar un id en destino
lograr integrar window.scrollMaxY en Safari
Probar en windows y resolver los problemas que me pueda encontrar.

Saludos.

Pd. Hay partes de código que no tiene nada que hacer ahí. Son remanentes de las primeras pruebas. Como dije, me falta pulir las funciones.
__________________
twitter: @imbuzu