javascript - 创建自动自毁的 div 元素

标签 javascript jquery css

我有一个名为 gainGold() 的函数,它附加一个 div 元素到父元素,如下所示:

function gainGold() {
    $('#main').append('<div class="popup popup-gold">+ 14</div>');
}

在完整版本中,数字当然是可变的,并且还有更多内容,但我会保持简单。这个元素播放 0.5 秒的 CSS 动画,我希望它在之后被销毁。到目前为止,我已经使用如下的 setTimeout 做到了这一点:

setTimeout(function(){
    $('.popup-gold').remove();
}, 510);

但这是不好的做法。使用此解决方案,我无法同时显示多个 popup 元素,因为 jQuery 选择器在删除时会针对所有元素。

是否有某种方法可以创建此 div 元素并对其进行严格控制,以便单独删除()它?

编辑:This is a Jsfiddle that demonstrates the solution.我最终使用了 Robs 答案,将每个附加元素声明为变量并将其干净地删除。谢谢!

最佳答案

您应该保存对要附加以进行删除的对象的引用...

function gainGold() {
    var popup = $('<div class="popup popup-gold">+ 14</div>');
    $('#main').append(popup);

    setTimeout(function(){
        popup.remove();
    }, 510);
}

关于javascript - 创建自动自毁的 div 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26188308/

相关文章:

javascript - Protractor 无法在 element.all 语句内的 while 循环内执行单击操作

javascript - "Filter"唯一键的JSON并获取所有相关值

css - GWT UiBinder 样式主名称不起作用

javascript - 使用 jQuery 的下拉菜单

javascript - 在CSS中动态更改内容

javascript - 如何使用一个按钮切换 HTML 文档正文的背景颜色?

javascript - Promise 状态更改后子组件不会重新渲染..?

javascript - 这段代码是用什么来压缩的?

javascript - 隐藏递归树中嵌套两次以上的元素

jquery - 在具有固定高度/宽度的 div 中显示溢出字符串的底部?