我在用户提交表单后显示一条消息(#final_msg)。我想要做的是,15秒后,消息(#final_msg)应淡出,清除[或淡出]输入元素中的文本。有可能这样做吗?
else {
//create post data
var postData = {
"name" : $("#name").val(),
"email" : $("#email").val(),
"msg" : $("#msg").val(),
"origin" : $("#origin").val()
};
//make the call
$.ajax({
type: "POST",
url: "test.php",
data: postData, //send it along with your call
success: function(response){
$('#final_msg').fadeIn();
}
});
}
答案 0 :(得分:43)
如果您使用的是jQuery 1.4,则可以使用delay
函数:
$('#final_msg').fadeIn().delay(10000).fadeOut();
答案 1 :(得分:22)
setTimeout(function() {
$('#final_msg').fadeOut();
$('#name, #email, #msg, #origin').val('')
}, 10000 );
答案 2 :(得分:5)
您应该查看JavaScript setTimeout() method。有了它,您可以在特定的毫秒数后执行某些功能。
setTimeout(function(){$('#final_msg').fadeOut();}, 10000);
除了淡入淡出,您可以清除该功能中的所有输入,例如通过分别使用$(':input')。val(“”)和$(':input')。removeAttr(“checked”)单选按钮和复选框(如果有的话)。