Aplicando estilos y con un poco de jQuery, es posible hacer lo que buscas.
Código CSS:
Ver originalspan{
position: fixed;
right: 0;
width: 4em;
height: 4em;
background: darkgray;
color: white;
font-size: 1.2em;
text-align: center;
line-height: 4em;
cursor: pointer;
border-radius: 7em;
display: none;
}
Código Javascript
:
Ver original$(window).scroll(function(){
if (if ($(this).height() + $(this).scrollTop() == $(document).height()))
$('span').fadeIn();
else
$('span').fadeOut();
});
$('span').click(function(){
$('body, html').animate({
scrollTop: 0
}, 1000);
});
Con el método
scroll, detecto el desplazamiento de la barra de desplazamiento (valga la redundancia) de la ventana. Con el método
scrollTop, obtengo la posición actual de la barra de desplazamiento en el eje vertical, luego, si dicho valor más el de la altura de la ventana es igual a la altura del documento, es decir, cuando la barra se encuentre al final y no se pueda bajar más, se mostrará el
span con el que realizaremos el desplazamiento hacia la parte superior del documento, caso contrario, se ocultará dicho
span. Cuando le demos un clic al
span, la barra tomará la posición cero, es decir, se desplazará hasta el tope, regresando así a la parte superior del documento. Dicho desplazamiento demorará 1 segundo que es el valor que establezco en milésimas de segundo en el segundo parámetro del método
animate.
DEMO
Saludos