2011-09-27 12 views
6

Sto cercando di creare una finestra di dialogo modale per mostrare solo i contenuti (html di qualche tipo o altro):modale-finestra non nasconderà il caricamento della pagina

<script> 
$.fx.speeds._default = 1000; 
$(function() { 
    $("#dialog").dialog({ 
     autoOpen: false, 
     closeOnEscape: true, 
     modal: true, 
     position: 'center', 
     width: 800, 
     height: 600, 
     show: "blind", 
     hide: "explode" 
    }); 

    $("#opener").click(function() { 
     $("#dialog").dialog("open"); 
     return false; 
    }); 

}); 
</script> 

Quando ho visualizzare la pagina, la finestra di dialogo è in linea e non nascosto. Ecco il mio html:

<div id="dialog">This is my dialog that should be hidden until called</div> 
<button id="opener">I Open the Dialog</button> 

Cosa sto facendo male?

+1

Stai includendo jQueryUI.js nell'ordine corretto? Sembra che non funzioni affatto, quindi forse non hai accesso a jQueryUI. – orolo

risposta

7

È necessario impostare la proprietà autoOpen su false, sotto è qualche riferimento

http://jqueryui.com/demos/dialog/#option-autoOpen

Ecco un esempio

$(function() { 
    $("#dialog").dialog({ 
     closeOnEscape: true, 
     modal: true, 
     position: 'top', 
     width: 800, 
     height: 600, 
     show: "blind", 
     hide: "explode", 
     autoOpen: false ///added this line 
    }); 

    $("#opener").click(function() { 
     $("#dialog").dialog("open"); 
     return false; 
    }); 

}); 
+0

Provato questo, la mia finestra di dialogo continua a essere visualizzata in linea e non è nascosta. Grazie comunque. – SteeleHudson

+0

Ciao Steele, hai trovato qualche soluzione al problema che nella finestra di caricamento è visibile? –

9

Nascondi la div usando css come tale:

<div id="dialog" style="display:none;">This is my dialog that should be hidden until called</div> 

Ora verrà visualizzato solo quando richiesto.