我正在使用jquery的ajax登录系统,一切似乎都运行正常,我的问题是如何在成功显示gif加载图像之前减慢调用或暂停x秒?
代码:
$('.AJAX').on('submit', function(event)
{
event.stopPropagation();
event.preventDefault();
var This = $(this);
var Data = {};
This.find('[name]').each(function(Index, Value) {
var This = $(this),
Name = This.attr('name'),
Value = This.val();
Data[Name] = Value
});
$.ajaxSetup(
{
beforeSend:function()
{
$('.Msg').html('<img src="../Assets/Pictures/Loading.gif" />');
},
complete:function()
{
$('.Msg').find('img').remove();
}
});
$.ajax(
{
url:'Log.php',
type:'POST',
data:Data,
success:function(Data)
{
$('.Msg').html('<span style="color:red">' + Data + '</span>').hide().fadeIn('fast');
});
return false;
});
答案 0 :(得分:2)
您可以使用基本的setTimeout来延迟操作:
success:function(Data) {
setTimeout(function(){
$('.Msg').html('<span style="color:red">' + Data + '</span>').hide().fadeIn('fast');
}, 5000); // wait 5 seconds before showing the message
});
FYI jQuery .delay()延迟了效果队列中的效果。 .html()不是一种效果,所以它不会受到该方法的影响。