2012-12-05 15 views
7

Sto usando jQuery mobile e sto provando a mostrare jQuery pop al caricamento della pagina. Ma quando la pagina viene caricata, il popup non appare al centro, mentre l'angolo TOP LEFT di popup appare al centro.jQuery popup mobile non appare nel centro

Ma non appena le dimensioni della finestra del browser cambiano, il popup si sposta automaticamente al centro (anche se premo F12 per lo strumento sviluppatori). E poi tutte le chiamate frequenti a $ ('# popupBasic'). Popup ("apri"); fallo apparire al centro dello schermo.

Ma la prima volta nell'angolo in alto a sinistra della finestra popup appare al centro.

+0

Sto avendo un problema simile a questo.A volte appare come dichiari sopra, ma la maggior parte delle volte il popup non appare nemmeno visibile (anche se è lì - come posso vedere esaminando il DOM). Non sei sicuro di quale sia la soluzione. –

+1

avendo lo stesso identico problema con 1.3.0 pure. Ultima versione di chrome. Hai mai trovato una soluzione? – Dave

risposta

0

Questa è una domanda molto vaga.

Alcuni elementi si dovrebbe fornire:

  • Quale browser stai test su e quale versione?
  • Quale versione di JQM?
  • Ci sono dei CSS personalizzati che interagiscono con JQM?

A partire dal jQm 1.2, le opzioni disponibili: Popup

di default: "origine"

imposta l'elemento rispetto al quale verrà centrato il popup. Ha i seguenti valori:

"origine" Quando si apre il popup, centrare sulle coordinate passate alla chiamata open() (vedere la pagina dei metodi).

"finestra" Quando si apre il popup, centrare nella finestra.

Selettore jQuery Quando si apre il popup, creare un oggetto jQuery basato sul selettore e centrarlo. Il selettore viene filtrato per gli elementi visibili con ": visible". Se il risultato è vuoto, il popup sarà centrato nella finestra.

Source

+0

Si sta comparendo in quasi ogni dove ho provato, Chrome versione 24.0.1312.32 beta-m Firefox 16.0.1 HTC Wildfire 2.2.1 jQm jquery.mobile-1.2.0.min.js No personalizzato CSS con JQM Ho provato tutte le opzioni di popup, ma ancora senza successo. alla replica si può provare questo allora '$ (document) .bind ('pageinit', la funzione ' '

SOME LONG CONTENT
e ({ $ ('# popupBasic') pop-up ("aperto");. } –

1

mi è stato sempre lo stesso errore. Vuoi solo mostrare il popup dopo che la pagina è stata dipinta.

L'aggiunta del codice per ascoltare l'evento pageshow anziché l'evento pageinit probabilmente risolverà il problema. Lo ha risolto per me.

10

Si può provare a riposizionare il popup sul pageshow:

$('#popupLogin').popup('reposition', 'positionTo: window'); 

Mi sa che cosa si sta verificando è giù per il posizionamento accadendo prima pagina è completamente disegnato dal browser. Puoi ovviare a questo riposizionando il popup in questo modo:

$(document).on('pageshow', '.selector', function(){ 
    $('#popupBasic').popup('reposition', 'positionTo: window'); 
}); 
+2

Io uso un div popup, che è usato per visualizzare immagini diverse in base alla selezione dell'utente.Queste immagini sono di dimensioni diverse, che non sono note fino a quando caricate.quando questo: '$ ('#popupLogin') .popup ('riposiziona', 'positionTo: window'); 'dopo che un'immagine è stata caricata nel popup centra correttamente il popup. – dsdsdsdsd

2
$(document).on("popupafteropen", function() { 
    $('#popup').popup('reposition', 'positionTo: window'); 
}); 

È possibile utilizzare il costume pop-up di eventi per riposizionarlo dopo l'apertura

Problemi correlati