Как показать ajax, загружающийся gif анимация, в то время как страница загружается?

Платформа наборов Google предлагает хороший и изящный способ достигнуть пустой проверки.

существует метод в классе библиотеки как это:

static <T> T checkNotNull(T e) {
   if (e == null) {
      throw new NullPointerException();
   }
   return e;
}

И использование (с import static):

...
void foo(int a, Person p) {
   if (checkNotNull(p).getAge() > a) {
      ...
   }
   else {
      ...
   }
}
...

Или в Вашем примере:

checkNotNull(someobject).doCalc();
6
задан Rajasekar 20 August 2009 в 10:32
поделиться

4 ответа

Есть много подходов к сделай это. Простой способ сделать:

<div style="display:none" id="dvloader"><img src="loading.gif" /></div>

JS:

$(function() {
    $(".changepass").click(function() {
        $("#dvloader").show();
        $(".block1").load("views/changepass.template.php", function(){ $("#dvloader").hide(); });
        return false;
    });
});

Отредактировано display: block на show () после предложения Джеймса Уайзмана:)

22
ответ дан 8 December 2019 в 02:46
поделиться

Чтобы сделать его более надежным, например, вы забыли добавить

<div style="display:none" id="dvloader"><img src="loading.gif" /></div>

в html, вы также можете сделать это в jQuery, например:

var container = $.create('div', {'id':'dvloader'});
var image = $.create('img', {'src':'loading.gif'});
container.append($(image));
$("body").append($(container));

Что добавит div автоматически.

Просто активируйте это при событии кнопки onclick.

Делает его немного менее уязвимым для ошибок.

9
ответ дан 8 December 2019 в 02:46
поделиться

Скорее это установка стиля

.css("display", "block");

Просто используйте методы .hide () и. show () .

Они учитывают определения таблиц стилей по умолчанию для элементов HTMl. Возможно, вы не захотите отображать «блок» для изображения. Для элемента может быть множество различных стилей отображения:

http://www.w3schools.com/htmldom/prop_style_display.asp

2
ответ дан 8 December 2019 в 02:46
поделиться

вы можете вызвать какой-нибудь метод для показать загружаемый gif после вызова load и скрыть его с помощью обратного вызова в функции загрузки:

$(function() {
   $(".changepass").click(function() {
    $("#gifImage").show(); 
    $(".block1").load("views/changepass.template.php",null,function(){
            $("#gifImage").hide();
    });
   return false;
});
0
ответ дан 8 December 2019 в 02:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: