2012-08-25 15 views
5

Se pueden hacer animaciones de desplazamiento suave para ir desde una parte de una página web a otra. Hoy en día, algunos navegadores (por ejemplo, Chrome para Mac) admiten el "desplazamiento descendente" y, a menudo, el desplazamiento implica el desplazamiento excesivo.Despliegue habilitado por JavaScript

Por lo tanto, las animaciones tradicionales de desplazamiento se ven bastante artificiales sin sobreescalar. ¿Hay alguna manera de sobredesplazarse en una página web con JavaScript para mejorar la animación de desplazamiento tradicional?

Respuesta

4

Sí, puede hacer una animación de rebote.

supongo que quería decir rebote https://ux.stackexchange.com/questions/13183/name-of-the-touch-ui-overscroll-feature

Acabo de construir una rápida/buggy.

var threshold = 400, 
    wrap = document.getElementById('wrap'), 
    wrapHeight = wrap.offsetHeight, 
    pageHeight = (wrapHeight + threshold); 

wrap.style.height = pageHeight+'px'; 

window.addEventListener('scroll', function(){ 
    var pageY = window.pageYOffset; 

    if (pageY > wrapHeight - threshold*1.5) { 
     wrap.style.height = wrapHeight+'px'; 
    } 
    if (wrap.offsetHeight === wrapHeight) { 
     if ((pageY > wrapHeight - threshold*2.5)) { 
      wrap.style.height = pageHeight+'px'; 
     } 
    } 
}); 

también https://github.com/andrewrjones/jquery.bounceback

la idea básica detrás de mi código: que hacer la página más grande para dar cabida a la animación. luego restablece la altura de la página después de desplazarse desde la parte inferior.

para hacer realmente la animación que necesita agregar: # envoltura { -webkit-transition: height .5s; }

+0

Suena genial. ¿Podrías por favor darme un violín? – Randomblue

+0

Imagino que el enlace de Jquery gitHub sería preferible teniendo en cuenta que lo escribí en unos 5 minutos y que no sigue ningún patrón. El complemento probablemente tenga una API fácil de usar. – Chris

+0

Solo estoy interesado en una prueba de concepto. Un violín sucio es preferible a tener que configurar todo. – Randomblue

0

Hay this project que proporciona un plugin de sobrescritura jQuery. Puede ser lo que estás buscando. Demostración on this page.

+0

Estoy buscando overcrolling nativo, no "emulación incrustada". Además, la demostración proporcionada no parece sobrescribirse en el sentido de que el cromo "detrás" de la página no se muestra después del límite de desplazamiento. – Randomblue