2009-09-08 19 views
6

Próbuję uzyskać okno dialogowe ładowania modalnego, które pojawi się podczas wykonywania wywołania ajax, ale nie jest wyświetlane w funkcji onClick. Jeśli zwolnię go, gdy pojawi się firebug i przejdzie przez panel ładowania, pojawi się. Czy to tylko javascript działa przed samym sobą? Czy jest lepszy sposób to zrobić?Okno dialogowe jQuery nie pojawia się, gdy jest wywoływane

$(function(){ 
    $("#loading_panel").dialog({ 
           modal:true, 
           position:'center', 
           minHeight:40 
           }); 

    $("a.view-in-frame").click(function(){ 
         $("#loading_panel").dialog('open'); 
         $("#tabs").hide(); 
         var blog = $(document.createElement('div')).attr('id', 'blog').load(('blog_reader.php?blog='+this.href)), $("#loading_panel").dialog('close')); 
         $("#content_wrap").append(blog); 
         return false; 
       }); 
}) 
+0

Czy kiedykolwiek rozwiązałeś to? Mam podobny problem. – xenon

+3

nie oderwałam projektu – ErsatzRyan

+0

Ok, dzięki. Nie pamiętam nawet, jak poradziłem sobie z problemem: P – xenon

Odpowiedz

1

tylko pomysł, spróbuj ustawić „AutoOpen” false podczas tworzenia okna:

$("#loading_panel").dialog({ 
          modal:true, 
          position:'center', 
          minHeight:40, 
          autoOpen:false 
          }); 

w tej chwili mówisz okno otworzyć, gdy jest on tworzony. To powinno zapobiec temu zachowaniu.

+0

nie, to go nie naprawiło. – ErsatzRyan

+0

Tak czy inaczej, powinno być tam. :) – Ryall

1

@ErsatzRyan

Możesz próbowano ustawić funkcji javascript, aby załadować po dokument jest gotowy?

Jak to:

$(document).ready(function(){ 

//Your functions 

}); 

I jak @Nat Ryall powiedział, musisz ustawić swój AutoOpen do false, w przeciwnym razie nie zostanie otwarte okno dialogowe dwukrotnie.

I jeszcze jedno, spróbuj zadzwonić pod numer $(".selector").dialog("open") po wykonaniu wszystkich czynności. Mówisz swojej funkcji, aby zadzwoniła do twojego okna dialogowego, zanim załaduje zawartość.

+0

the $ (function() {}); Składnia, której używa, jest równoważna. Zobacz [specyfikację na gotowe] (http://api.jquery.com/ready/). –

+0

To właśnie naprawiło to dla mnie. Tworzenie okna dialogowego zanim dokument będzie gotowy najwyraźniej nie działa, nawet jeśli nie są zgłaszane żadne błędy i nie próbujesz go wyświetlić. –

Powiązane problemy