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不要自动隐藏一个元素。