показать JQuery диалог - PullRequest
       2

показать JQuery диалог

1 голос
/ 04 августа 2011

На этом сайте Firefox показывает диалоговое окно jQuery (ожидание), но в IE8 не показывает диалоговое окно 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');

1 Ответ

0 голосов
/ 04 августа 2011

То же самое происходит в Chrome, но я думаю, что это может быть связано со скоростью, поскольку браузер слишком быстр и отображает, а затем скрывает диалоговое окно.

Если вы отлаживаете и просматриваете JavaScript в Chrome и ломаетесь в момент создания dialog(), он выглядит как положено.

Вам необходимо закрыть диалоговое окно после завершения последнего XMLHTTPRequest, и вы можете сделать это, воздействуя на readyState объекта XMLHTTPRequest (см. Документацию MSDN и MDN ) .

Тем не менее, поскольку вы уже используете jQuery, я настоятельно рекомендую использовать метод jQuery .get() для всех ваших запросов, который скрывает различия между браузерами при выполнении асинхронных HTTP-запросов (и много других отличий браузера!). Затем вы получаете кросс-браузерный код и чистый механизм обратного вызова, например:

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');
        }
    });
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...