当前位置: 首页 > 知识库问答 >
问题:

我如何在一个div出现后一秒钟删除它?

王凌
2023-03-14

我在试着做个背景效果。在按键时,它创建一个div并在半秒后淡出。每次按下一个键,它都会创建一个具有新ID的新div。我如何在每个div被触发后半秒内删除它?

我忘记提了,我有一个函数可以将document.getElementById('id')缩短为$('id')。我没有使用jQuery。

这是我目前为止的代码。

function $(e) {
  return document.getElementById(e)
}

let circles = 0;
onkeypress = () => {
  document.body.insertAdjacentHTML('beforeend', `<div class="effect" id="l${circles}"></div>`)
  setTimeout(function(){
    $(`l${circles}`).remove()
  },500)
  circles++
}

共有1个答案

翟昊明
2023-03-14

如果使用setTimeout,它将在500ms之后使用counter的值,这意味着它不再等于用于创建元素ID的计数器。

您只需使用:

onkeypress = () => {
    var el = document.createElement("div");
    el.className = "effect";
    document.body.appendChild(el);
    setTimeout(function(){
        document.body.removeChild(el);
    },500)
}
 类似资料:
  • 我有一个主类,该类将输出打印到控制台。。。 例如,如果行中包含A和B,我需要打印“Apple” 我将在主方法中通过首先实例化该类的对象来实现这一点,即。 代码示例:

  • 问题内容: 我想知道,几秒钟后如何在jquery中隐藏div?例如Gmail的邮件。 我已经尽力了,但是无法正常工作。 问题答案: 这将在1秒(1000毫秒)后隐藏div。 如果您只想隐藏而不褪色,请使用。

  • 问题内容: 在我的应用程序中,我将附加一个字符串以创建路径以生成URL。现在,我想在按“后退”按钮时删除该附加字符串。 假设这是字符串: 现在我想要一个这样的字符串: 我怎样才能做到这一点? 问题答案: 您可以使用相同的方法

  • 各位早上好,我正在创建一个产品销售系统,这个话题会有点长,因为我想好好解释一下。 正在用Vaadin+MySQL+springboot+Maven开发的系统 在主屏幕上,我们有一个网格,上面有“新建”、“更改”和“删除”按钮: 当点击new按钮时,将打开一个窗口,开始“销售”产品: 这里的问题是这样的,当我点击“+项”时会出现以下情况: 问题:创建了一个滚动条(在窗口的右边),保存、关闭和+项按钮

  • 如何自动隐藏或删除DIV的内容。我把一些信息放在一个容器里。 我想显示新消息只有几秒钟,它可以是5,10什么,但然后我想它是空的,添加新消息,显示它,而不是隐藏。我当然知道setTimeout的"诀窍": 但是在这个选项中,我必须通过每个消息传递这个脚本,这不是我要找的。我也尝试过setInterval,但是正如名字所说,它是间隔,所以消息可以在5秒钟内可见,或者如果它到达间隔时间的末尾,甚至可以

  • 问题内容: 对于此函数,运行后,输出将为2,5,7 .... 9,我的问题是如何删除最后一个逗号? 问题答案: 我会在一开始打印逗号,像这样-