gpt4 book ai didi

jquery - 双 jQuery 延迟() 的问题

转载 作者:行者123 更新时间:2023-11-30 23:45:10 25 4
gpt4 key购买 nike

我正在摆弄 jQuery 的 AJAX 函数,并试图模拟真实的服务器如何延迟我在本地主机上获得的顺利数据请求。

所以我编写了与此类似的代码:

$('form').submit(function (event) {
event.preventDefault();

$('#response').html('<p>Posting...</p>').fadeIn().delay(2000).queue(function () {
$.post (
'some_url.php',
{/*values here*/},
function (response) {
$('#response').html(response).delay(1000).fadeOut('slow');

//The line below is to reset the form element
$('input[type="text"], textarea').val(' ');
});
});
});

我在这里基本上所做的是将 $.post 方法延迟 2 秒,以便可以看到“Posting...”消息。当 2 秒结束时,我希望文本根据我得到的响应进行更改,保持静止 1 秒,并且我希望它淡出。

第一个延迟工作完美,Ajax 调用也工作完美,问题是 - 由于某种原因,第二个延迟没有被读取,并且响应消息一旦显示,就拒绝消失:)

我的问题是为什么会发生这种情况以及如何解决它?

最佳答案

您需要出队才能处理队列中的下一个事物。

http://api.jquery.com/jQuery.dequeue/

编辑:或者 1.4 或更高版本中的下一个:

In jQuery 1.4 the function that's called is passed in another function, as the first argument, that when called automatically dequeues the next item and keeps the queue moving. You would use it like so:

$("#test").queue(function(next) {
// Do some stuff...
next();
});

来自:http://api.jquery.com/queue/

关于jquery - 双 jQuery 延迟() 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5941172/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com