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

inp*_*put 17 html javascript jquery

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

                        }
                      });
                }
Run Code Online (Sandbox Code Playgroud)

Ben*_*end 45

如果您使用的是jQuery 1.4,则可以使用以下delay函数:

$('#final_msg').fadeIn().delay(10000).fadeOut();
Run Code Online (Sandbox Code Playgroud)


med*_*iev 22

setTimeout(function() {
 $('#final_msg').fadeOut();
 $('#name, #email, #msg, #origin').val('')
}, 10000 );
Run Code Online (Sandbox Code Playgroud)


Wol*_*ram 5

您应该查看JavaScript setTimeout()方法.有了它,您可以在特定的毫秒数后执行某些功能.

setTimeout(function(){$('#final_msg').fadeOut();}, 10000);
Run Code Online (Sandbox Code Playgroud)

除了淡入淡出,你可以清除该函数中的所有输入,例如分别使用$(':input').val("")和$(':input').removeAttr("checked")分别用于单选按钮和复选框(如果有的话).