使用jQuery在X秒后隐藏/删除标签

14

我想知道如何在一定时间后隐藏/删除标签。是否有一些内置的东西,或者我需要使用线程(如果JavaScript可以实现的话)?

4个回答

34

你甚至不需要用jQuery来实现“5秒钟”的部分:JavaScript内置的setTimeout函数可以解决问题。如果需要进行DOM操作,可以使用jQuery来实现:

setTimeout(function() {
  $("#the-tag-you-want-to-remove").remove();
}, 5000);

这里的5000表示5000毫秒,即5秒。你可以将一个现有的函数或(如本例)匿名函数传递给setTimeout


2
另一个需要注意的是,虽然你可以传递一个字符串进行评估,但我不建议这样做,除非绝对必要。 - Darko
我总是使用“window”前缀,因为你永远不知道其他人(插件等)会在作用域中创建一个具有相同名称的函数/变量来执行其他操作。 - redsquare
它帮助了我很多。 - Humphrey

9

3
window.setTimeout( hideTagFn, 5000);

function hideTagFn(){

   $('#someElementId').hide();
}

0

这与上面的答案几乎相似,但在此示例中,您只需将其复制并粘贴到编辑器中,然后它就会起作用。

<hmtl>
  <head>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
    <script>
$(document).ready(function(){
  $('.showupAfter8seconds').hide();
  setTimeout(function(){
    $('.showupAfter8seconds').show();
  },8000);
});
    </script>
  </head>
  <body>
    <div class="showupAfter8seconds">
      <h1>I was hidden for 8 seconds</h1>
    </div>

  </body>
</html>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接