我的jQuery代码存在问题。我的网站中有一个包含表单的弹出式面板。当我在表单上单击“提交”时,我的数据将提交到我的电子邮件和数据库(根据要求)。但是,一旦提交,我想:
<div>
隐藏。<div>
以显示。<div>
和我的表单<div>
恢复正常(包括重置表单,我不知道该怎么做,所以在这方面的任何帮助也会感激不尽)注意:我想要5.以便在需要时发送第二封电子邮件。我可以没有这个,但至少需要4个。
当我提交表单时,我的数据会根据需要进行处理,但我的面板整体隐藏,没有发生<div>
转换,因此我没有看到确认消息。我的代码目前设置为:
$.post('/includes/hireme.php', $("#formHireMe").serialize(), function(data) {
$('div#hiremeFormPane').hide();
$('div#hiremeSubmittedPane').show().delay(5000).hide();
$('div#hiremeFormPane').show();
$('div#hiremePanel').fadeOut(150);
});
有谁知道a)为什么?或b)是否有更好的方法来实现这种效果?
答案 0 :(得分:1)
show
和hide
在没有持续时间时不是动画。 delay
会影响动画队列。由于show
和hide
未放置在动画队列中,delay
不会延迟hide
,导致其立即隐藏。
你可以给hide
一个持续时间(即使1会使它几乎是即时的,但是把它放在动画队列上现在受到delay
的影响)或者你需要使用{{ 1}}或其他动画,例如setTimeout
。