Я отображаю сообщение (#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();
}
});
}
setTimeout(function() {
$('#final_msg').fadeOut();
$('#name, #email, #msg, #origin').val('')
}, 10000 );
Если вы используете jQuery 1.4, вы можете использовать функцию delay
:
$('#final_msg').fadeIn().delay(10000).fadeOut();
Вам следует изучить метод JavaScript setTimeout () . С его помощью вы можете выполнить некоторую функцию через определенное количество миллисекунд.
setTimeout(function(){$('#final_msg').fadeOut();}, 10000);
Помимо затухания, вы можете очистить все входы в этой функции, например используя $ (': input'). val ("") и $ (': input'). removeAttr ("checked") для переключателей и флажков соответственно (если они есть).