jQuery自动隐藏元素5秒后

使用jQuery加载表单5秒后,是否可以自动隐藏网页中的元素?

基本上,我有

<div id="successMessage">Project saved successfully!</div> 

我想在5秒后消失。 我已经看了jQuery UI和隐藏效果,但我有点麻烦得到它的工作方式,我想要的。

 <script type="text/javascript"> $(function() { function runEffect() { var selectedEffect = 'blind'; var options = {}; $("#successMessage").hide(selectedEffect, options, 500); }; $("#successMessage").click(function() { runEffect(); return false; }); }); </script> 

我想要删除点击function,并添加一个超时方法,5秒后调用runEffect()。

mucho gracias!

 $(function() { // setTimeout() function will be fired after page is loaded // it will wait for 5 sec. and then will fire // $("#successMessage").hide() function setTimeout(function() { $("#successMessage").hide('blind', {}, 500) }, 5000); }); 

注意 :为了让你的jQuery函数在setTimeout里面工作,你应该把它包装进去

 function() { ... } 
 $('#selector').delay(5000).fadeOut('slow'); 

你可以试试 :

 setTimeout(function() { $('#successMessage').fadeOut('fast'); }, 30000); // <-- time in milliseconds 

如果你使用这个,那么你的div将在30秒后隐藏起来。我也试过这个,它对我有用。

你在runEffect函数中使用setTimeout:

 function runEffect() { setTimeout(function(){ var selectedEffect = 'blind'; var options = {}; $("#successMessage").hide(selectedEffect, options, 500) }, 5000); } 

我想,你也可以做一些像…

 setTimeout(function(){ $(".message-class").trigger("click"); }, 5000); 

并在事件点击做你的animation效果…

 $(".message-class").click(function() { //your event-code }); 

问候,

点击后,您可以设置超时时间。

 $(".selectorOnWhichEventCapture").on('click', function() { setTimeout(function(){ $(".selector").doWhateverYouWantToDo(); }, 5000); }); 

// 5000 = 5秒= 5000毫秒

请注意,您可能需要在消失后再次显示div文本。 所以你需要清空,然后在某个时候重新显示元素。

你可以用1行代码来做到这一点:

 $('#element_id').empty().show().html(message).delay(3000).fadeOut(300); 

如果你使用jQuery,你不需要setTimeout,至less不要自动隐藏一个元素。