2012-10-04 45 views
5

Actualmente estoy desarrollando un sitio web para móviles en el que utilizo jQuery Mobile. Al cambiar de página, uso la transición de diapositiva. Debido a que estas páginas son bastante largas, se necesita desplazamiento.Mantener la posición de desplazamiento con la transición de diapositivas de jQuery Mobile

Cuando se desplaza hacia abajo y se hace clic en un enlace, aparece un salto visible cuando la página se desplaza hacia la parte superior antes de deslizarse en la página nueva. Como las dos páginas se encuentran una al lado de la otra cuando se necesita hacer una transición hacia arriba, es necesario hacerlo en algún momento.

Una cosa que he intentado es esto: Puedo compensar la nueva página desde la parte superior para que comience en el nivel al que se desplaza la página y restablecer el desplazamiento a 0 cuando la animación está completa, pero luego la página permanecerá desplazada hacia abajo. Si uso window.scrollTo o jQuery's scrollTop(), hay un parpadeo notable más notable con el encabezado fijo.

¿Hay alguna otra cosa que pueda hacer que mantenga la página antigua desplazada pero la nueva página sin desplazamiento?

He probado esto en un iPod touch de tercera generación, iPhone 4 y iPhone 4s, y sorprendentemente el dispositivo que me ha dado la menor cantidad de parpadeo hasta ahora ha sido el iPod touch.

Respuesta

-1

acaba de poner return false; al final de la función javascript que se llama.

 function yourFunctionBeingCalled(){ 
     /*your code*/ 
     return false; 
    } 

También puede utilizar preventDefault(); o event.stopPropagation(); funciones

reffer: event.preventDefault() vs. return false

espero que ayudó.

0

Basta con añadir este CSS

div[data-role='page'] { bottom: 0; -webkit-overflow-scrolling: touch; } 

(desde here)

Cuestiones relacionadas