Ajax Loader IE 7 - не отображается - PullRequest
0 голосов
/ 18 июня 2011

Я использую ajax loader.Изображение, которое появляется во время загрузки, не отображается в IE7, но оно нормально работает в IE 8 и FF.Я использовал следующие jquery для загрузчика: -

initLoader(); 

function initLoader() 
{
    //Get the A tag
    var id = $('#dialogLoader');

    //Get the screen height and width
    var maskHeight = $(document).height();
    var maskWidth = $(window).width();

    //Set height and width to mask to fill up the whole screen
    $('#mask').css({ 'width': maskWidth, 'height': maskHeight });

    //Get the window height and width
    var winH = $(window).height();
    var winW = $(window).width();

    //Set the popup window to center
    $(id).css('top', winH / 2 - $(id).height() / 2);
    $(id).css('left', winW / 2 - $(id).width() / 2); 
}

function showLoader() 
{
    //transition effect     
    $('#mask').show();
    $('#dialogLoader').show(); 
}

function hideLoader() {
    $('#mask').hide();
    $('#dialogLoader').hide();
    $('.window').hide(); 
}

//To Start and hide loader 
$("#mask").bind("ajaxStart", function () {
  //alert('start');
  showLoader();
}).bind("ajaxStop", function () {
    //alert('end');
    hideLoader();
});

Вот CSS: -

/* Loader CSS start */
#mask
{
    position: absolute;
    left: 0;
    top: 0;
    z-index: 9000;
    opacity: 0.4;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)"; /* first!*/
    filter: alpha(opacity=40); /* second!*/
    background-color: gray;
    display: none;
}

#boxes .window
{
    position: absolute;
    left: 0;
    top: 0;
    width: 440px;
    height: 200px;
    display: none;
    z-index: 9999;
    padding: 20px;
}

#boxes #dialogLoader
{
    width: 70px;
    height: 60px;
    padding: 20px;
    text-align: center;
    background-color: #ffffff;
    border-radius: 20px;
    -moz-border-radius: 20px;
    font-size: 0.9em;
    font-family: Arial;
}
/* Loader CSS End */

Маска отображается, окно становится серым, но изображение загрузки не отображаетсяПожалуйста, дайте мне знать, как это может работать для IE 7. Спасибо !!!

Ответы [ 2 ]

0 голосов
/ 18 июня 2011

Мои догадки: не нравится, что у вас есть имя класса .window, на которое ссылаются здесь:

$('.window').hide(); 

Или, и, скорее всего, из-за переменной с именем id, IE ненавидит , потому что он ссылается на что-то еще ... Я пытаюсь найти больше информации по этому вопросу, но это давало мне похожие проблемы некоторое время назад.

РЕДАКТИРОВАТЬ : я могуне соглашайтесь с моими комментариями, приведенными выше, просто после двух дней отладки запроса AJAX, поскольку IE был единственным браузером, с которым он не очень хорошо работал, я стал немного параноиком, когда он огорчает IE.

Что касается только что опубликованной CSS, я настоятельно рекомендую использовать jQuery для установки прозрачности, она в основном совместима с браузерами, CSS просто нет.

0 голосов
/ 18 июня 2011

Я отредактировал код, который вы опубликовали.

Поскольку ваш код был первоначально размещен, эта строка:

//To Start and hide loader $("#mask").bind("ajaxStart", function () {

была такой, как я показываю выше.

Это был код, которыйне будет компилироваться, так как он закомментировал начало этого оператора.

Была ли это просто опечатка, когда вы скопировали ее здесь, или это проблема.

Возможно, есть проблема с <CR> и <LF>.

Я бы убедился, что они верны, и попробую.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...