1

我是 ajax 新手,我做得很好,但问题是我让我的 ajax 向服务器发送一些数据,然后获取一些数据库。我希望它隐藏错误 div 然后发出警报,但是当我运行代码时,警报首先显示,然后该区域设置为隐藏

if(response.status == "SUCCESS"){
    $('#error').hide('fast');  
    alert("Thanks for submitting.  We will get back to you as asoon as possible.\n\n" + response.result);
   }
4

4 回答 4

3

听起来您想在显示警报之前等待动画完成。

alert()在回调中调用hide()

$('#error').hide('fast', function() { alert(...); });
于 2012-05-17T19:03:56.270 回答
1

你需要一个回调函数,这里是:

if(response.status == "SUCCESS"){
    $('#error').hide('fast',function()
    {
         alert("Thanks for submitting.  We will get back to you as asoon as possible.\n\n" + response.result);
    });          
   }
于 2012-05-17T19:04:10.543 回答
0

添加延迟。

window.setTimeout(function() { alert('...') },100)
于 2012-05-17T19:03:27.003 回答
0

您可以向 hide() 提供回调,该回调在动画完成后发生:

$('#error').hide('fast', function() {
    alert("Your alert string");
});

从官方文档中阅读更多内容:http: //api.jquery.com/hide/

于 2012-05-17T19:05:56.067 回答