10秒后淡出消息,使用jQuery清除输入元素

时间:2010-08-15 17:53:24

标签: javascript jquery html

我在用户提交表单后显示一条消息(#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();

                        }
                      });
                }

3 个答案:

答案 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”)单选按钮和复选框(如果有的话)。