2013-11-13 3 views
1

Я использую функцию ajax для обновления и вывода результата. как я могу отложить, как за 2 секунды до того, как второй результат обновления снова отобразится? , так как прямо сейчас, после первого обновления и второго обновления, текст тот же, что и «Обновлено». Я хочу сообщить пользователю, что это второй раз обновленный msg.Как добавить функцию задержки внутри функции ajax

$.ajax({ 
    type: "post", 
    url: "function.php", 
    data: "ajax=updateAward&" + inputs, 
    success: function(html) { 

    $('#message_award').html(''); //clear previous text 
//delay 2 sec then display below? 

    $('#message_award').html(html) ;  

    } 
}); 
+1

FYI .. Вы не должны делать '$ ('# message_award') HTML ('');' до '$ ('# message_award') HTML (HTML)'.. – PSL

ответ

1

Используйте setTimeout, чтобы выполнить функцию после задержки (заданного в миллисекундах). Вот полный пример:

$.ajax({ 
    type: "post", 
    url: "function.php", 
    data: "ajax=updateAward&" + inputs, 
    success: function(html) { 
     setTimeout(function() { 
      $('#message_award').html(html); 
     }, 2000); 
    } 
}); 
+0

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

+0

Просто добавьте свой код для удаления текста перед вызовом 'setTimeout' –

+0

Или, если вы хотите удалить текст перед завершением вызова ajax, просто сделайте это прямо перед выполнением запроса. –

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