2011-09-21 22 views
8

Uso de jquery mobile Im utilizando encabezado y pie de página persistentes. El navegador de pie de página tiene pestañas y cuando haces clic en una pestaña, carga una página mediante ajax. El problema es que la transición de una página a otra, que es ajax cargando un div con la identificación específica, es muy lenta. La transición de página tarda entre 2 y 5 segundos en suceder. cuando hago clic en una pestaña, se resalta un color diferente, pero no pasa nada, luego unos segundos más tarde ocurre la transición. A veces, si hace clic para acelerar, el diseño se rompe y el pie de página desaparece. Estoy haciendo esto en un ipad con la última versión de jquery mobile. ¿Es jquery mobile realmente lento? ¿Esperar hasta ios5 marcará la diferencia?Jquery Mobile: lento con las transiciones de página

ACTUALIZACIÓN

Aquí es un fragmento de código:

<div data-role="page" id="page1"> 
    <div data-role="header" data-position="fixed"> 
    <h1>Page Title</h1> 
    <a href="#dialog" data-transition="slidedown" data-icon="check">Add</a> 
    </div> 
    <div data-role="content"> 
    <ul data-role="listview"> 
     <li data-role="list-divider"><span class="ui-li-count">2</span></li> 
     <li> 
     <h3>Stephen Weber</h3> 
     <p><strong>You've been invited to a meeting at Filament Group in Boston, MA</strong></p> 
     <p>Hey Stephen, if you're available at 10am tomorrow, we've got a meeting with the jQuery team.</p> 
     <p class="ui-li-aside"><strong>6:24</strong>PM</p> 
     </li> 
</ul> 
    <div data-role="footer" class="nav-glyphish-example" data-id="myfooter" data-position="fixed"> 
    <div data-role="navbar" class="nav-glyphish-example" data-grid="b"> 
     <ul> 
     <li><a href="#page1" data-transition="reverse slide" id="chat" data-icon="custom" class="ui-btn-active ui-state-persist">Link 1</a></li> 
     <li><a href="#page2" data-transition="slide" id="email" data-icon="custom">Link2</a></li> 
     <li><a href="#page3" data-transition="slide" id="skull" data-icon="custom">Link 3</a></li> 
     </ul> 
    </div> 
    </div> 

<div data-role="page" id="page2"> 
    <div data-role="header" data-position="fixed"> 
    <h1>Page Title</h1> 
    <a href="#dialog" data-transition="slidedown" data-icon="check">Add</a> 
    </div> 
    <div data-role="content"> 
    <ul data-role="listview"> 
     <li data-role="list-divider"><span class="ui-li-count">2</span></li> 
     <li> 
     <h3>Stephen Weber</h3> 
     <p><strong>You've been invited to a meeting at Filament Group in Boston, MA</strong></p> 
     <p>Hey Stephen, if you're available at 10am tomorrow, we've got a meeting with the jQuery team.</p> 
     <p class="ui-li-aside"><strong>6:24</strong>PM</p> 
     </li> 
</ul> 
    <div data-role="footer" class="nav-glyphish-example" data-id="myfooter" data-position="fixed"> 
    <div data-role="navbar" class="nav-glyphish-example" data-grid="b"> 
     <ul> 
     <li><a href="#page1" data-transition="reverse slide" id="chat" data-icon="custom" class="ui-btn-active ui-state-persist">Link 1</a></li> 
     <li><a href="#page2" data-transition="slide" id="email" data-icon="custom">Link2</a></li> 
     <li><a href="#page3" data-transition="slide" id="skull" data-icon="custom">Link 3</a></li> 
     </ul> 
    </div> 
    </div> 
+0

proporcionan un código que le muestra lo que está haciendo en realidad? ¿cómo se proporciona el ancla? usaste definiciones de página para cargar páginas? agregue un código, sería útil. – zyrex

+0

Intente eliminar la animación de transición de la página y vea si carga la página más rápido. Eso reducirá si la solicitud de Ajax se toma para siempre o la animación en sí misma. – adam

Respuesta

1

veces si hace clic para ayunar los saltos de disposición y el pie de página dissappears:

Ésta es Ya se ha resuelto un problema aquí, todavía no hemos encontrado una solución: https://stackoverflow.com/questions/7484522/jquerymobile-click-on-background-fires-event-header-footer-data-position-fixe

Acerca del tiempo de carga, realmente es extraño, trate de enfocar el error eliminando partes de su código y acota dónde y por qué se produce el largo tiempo de carga ... espero que esto ayude.

+0

Estoy usando el plugin scrollview con jquery mobile también. ¿Eso tendría algún efecto sobre la carga entre páginas? – John

+0

En realidad acaba de eliminar el complemento scrollview y no mucho más rápido. Básicamente tengo las pestañas en el pie de página, cuando hago clic para ir a una pestaña diferente, se queda ahí por unos segundos. Luego sucede la transición de página, en este caso una diapositiva. Luego hago clic en la pestaña anterior en el pie de página y nuevamente se cuelga por unos segundos y luego regresa a la pestaña anterior. Esto no solo se ve/se siente torpe, sino que se deja abierto para las personas que hacen doble clic y cuando eso sucede, suceden cosas raras, como que la mitad de la página se ha ido o el pie de página desaparece o no pasa nada. – John

+0

intente restringir de dónde viene el error (excluya partes paso a paso de su código), en mi opinión, no es un comportamiento JQM normal. ¿El IPad mismo funciona normalmente? ¿Algo en el fondo que lo hace lento o lo hace esperar? – zyrex

5

Tenía el mismo problema. Desactivé las extravagantes transiciones de pantalla para solucionarlo.

Para hacer esto universalmente:

$.mobile.defaultPageTransition = 'none'; 
+1

El rendimiento se mejoró drásticamente con RC3. La actualización de Jquery Mobile también ayudará. – Charles

0

utiliza el mismo ID en múltiples ocasiones. Para mí causó problemas similares. Intenta eliminar/cambiar los identificadores duplicados.

Por ejemplo, usted simplemente copiar-pegar esta sección con el fin de duplicar en la segunda página:

<li><a href="#page1" data-transition="reverse slide" id="chat" data-icon="custom" class="ui-btn-active ui-state-persist">Link 1</a></li> 
<li><a href="#page2" data-transition="slide" id="email" data-icon="custom">Link2</a></li> 
<li><a href="#page3" data-transition="slide" id="skull" data-icon="custom">Link 3</a></li> 
Cuestiones relacionadas