2012-03-13 2 views
0

Я пытался получить загрузчик изображение, чтобы показать, что будет охватывать весь документ во время ajaxStart и скрывается на ajaxStop следующим образом:Image Loader во время AJAX/JSON процесса

Сценарий:

$(this).ajaxStart(function(){ 
     $().addClass('imageLoader'); 
    }); 

    $(this).ajaxStop(function(){ 
      $().removeClass('imageLoader'); 
    }); 

CSS:

.imageLoader { 
background: #f5f3e5 url('images/common/loading.gif') 50% no-repeat; top } 

Он не показывает изображение, как задумано, хотя я знаю ajaxStart/Stop работают, когда я тестировал его с какой-либо другой образец кода (т.е. изменение некоторых цвет текста на красный).

Есть ли лучший способ реализации этого? Я не могу понять, в чем проблема.

+0

Это путь к файлу изображения? Попробуйте /images/common/loading.gif, потому что то, что вы привыкли работать, если каталог изображений находится в том же месте, что и ваш файл CSS. – bsimic

ответ

0

Было бы проще, если бы вы создали скрытый DIV с классом и показать/скрыть это

<div style="display:none" class="imageLoader" id="loader"></div> 

$(this).ajaxStart(function(){ 
     $('#loader).show(); 
    }); 

    $(this).ajaxStop(function(){ 
     $('#loader).hide(); 
    }); 
+0

Кроме того, как я могу сделать это так, чтобы пользователь не мог нажимать на что-либо в фоновом режиме. Другими словами, они могут видеть только загрузчик изображений и все, или это также решит проблему – Cancos

+0

, так же просто создайте свой div, чтобы покрыть все видимые, и он не позволит пользователям щелкнуть любую другую вещь. –

Смежные вопросы