2011-08-04 15 views
1

this site FirefoxのショーのjQueryのダイアログで(待機中)が、IE8で、それは(待機中)jQueryのダイアログが表示されないショーjqueryのダイアログ

$("#wait").dialog({resizable:false,width:100,modal:true,height:100 }); 
$("#wait").siblings(".ui-dialog-titlebar").hide(); 

var certification = ""; 
var address; 
var idCompany="821225021"; 

for (var i = 0; i < 10; i++)         
{ 
    idCompany =idCompany + i.toString(); 
    idCompany=idCompany + ".png"; 
    address="../Image/CertificationCompany/"+idCompany; 

    if (UrlExists(address)) 
    { 
     certification +="<a>"; 
     certification +="<img style='width:40px;height:40px;' src='../Image/CertificationCompany/" + idCompany + "' />"; 
     certification +="</a>";                        
    } 

    idCompany="821225021"; 
} 

$("#contentCertification").html(certification); 
$("#wait").dialog('close'); 

答えて

0

同じことがChromeで起こるが、私はで、それはスピードの問題かもしれないと思いますブラウザがでもと高速で表示され、ダイアログが非表示になります。

dialog()が作成された時点で、デバッグしてChromeでJavaScriptを実行して中断した場合、期待どおりに表示されます。 (MSDNMDNマニュアルを参照してください)

あなたが最後XMLHTTPRequestを終了後、ダイアログを閉じる必要があり、あなたはXMLHTTPRequestオブジェクトのreadyStateに作用することによって、これを行うことができます。あなたは既にjQueryのを使用しているので、私は強く、非同期HTTPリクエストを行う際に、ブラウザの違いを難読化、すべてのリクエストのためのjQuery .get()方法、使用することをお勧め、と述べ

(および他のブラウザの違いのたくさんを!) 。その後、例えば、クロスブラウザ対応のコードクリーンコールバック機構を得る:

for (var i = 0; i < 10; i++) { 
    address="../Image/CertificationCompany/"+ idCompany + i.toString() + ".png"; 

    $.get(address, function(data) { 
     var certification = $('<a/>') 
      .append('<img style="width:40px;height:40px;" src="' + address + '"/>'); 

     $("#contentCertification").append(certification); 

     if ($('#contentCertification a').length == 10) { 
      $("#wait").dialog('close'); 
     } 
    }); 
} 
+0

は、ソリューション 私はサンプル – ashkufaraz

+0

を表示する別の方法がありますどのようなものですより良い例ですが、現在のところテストされていません – ashkufaraz

+0

追加を書くunderstand.pleaseしません待っ – andyb