2011-09-27 20 views
6

Próbuję utworzyć okno modalne po prostu pokazać zawartość HTML (lub jakiegoś innego):Modal-dialog nie ukryje na stronie obciążenia

<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> 

Kiedy wyświetlić stronę, okno jest wbudowany i nie ukryty. Oto mój html:

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

Co robię źle?

+1

Czy dołączasz jQueryUI.js w odpowiedniej kolejności? Wygląda na to, że to nie działa, więc może nie masz dostępu do jQueryUI. – orolo

Odpowiedz

7

Należy ustawić właściwość false autoOpen poniżej pewne odniesienie

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

Oto przykład

$(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

Próbowałem, że Mój dialog nadal wyświetla się w linii i nie jest ukryty. W każdym razie dzięki. – SteeleHudson

+0

Witaj Steele, czy otrzymałeś rozwiązanie problemu, który jest widoczny w oknie dialogowym ładowania? –

9

Ukryj div za pomocą CSS jak takie:

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

Teraz będzie się wyświetlać tylko po wezwaniu.

Powiązane problemy