Пауза перед сообщением JQuery AJAX - PullRequest
2 голосов
/ 15 января 2010

Поскольку страница, над которой я работаю, является страницей интрасети, мой вызов AJAX очень быстрый наряду с ответом. Для удобства использования я хотел бы сделать небольшую паузу в 1-2 секунды для отображения анимации загрузки. Ниже я попробовал, но анимация едва заметна.

$(document).ready(function(){ 
    $('#wait').hide();
    $('#submitform').click(function(){
    $('#wait').show();
    $.ajax({
        type: "POST",
        url: "abs_newabs_check.asp",
        data: { StaffID: $("#suggest1").val() },
        success: callback
    });

});
});

function callback(data, status)
{
    $('#wait').hide();
    $("#ajaxdiv").html(data);
}

Ответы [ 3 ]

5 голосов
/ 15 января 2010

Я бы предложил подумать о другом способе добавления юзабилити, который вы сейчас замедляете, чтобы помочь пользователям.Как насчет использования Yellow Fade Technique Таким образом, вы можете показать, что что-то изменилось на странице, и вы не замедляете работу своей системы.

Вот еще один вопрос, который может помочь. Желтый эффект исчезновения с JQuery

3 голосов
/ 15 января 2010

Добавьте вызов setTimeout к функции обратного вызова:

function callback(data,status) {
  setTimeout(function() {
    $("#wait").hide();
    $("#ajaxdiv").html(data);
  }, 1500);
}

nb.параметр данных будет передан анонимной функции как закрытие, если я не ошибаюсь

1 голос
/ 15 января 2010

Использовать функцию setTimeout

setTimeout("alert('5 seconds has passed.');",5000);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...