繁体   English   中英

5秒后如何删除动态添加的元素?

[英]How do I remove a dynamically added element after 5 seconds?

我正在制作一个简单的游戏,用户应单击苍蝇将其从屏幕上删除。 用户放下猫时不应点击它,我希望5秒钟后猫gif消失(从DOM中删除)。

如果这已经得到回答,我深表歉意。 由于我的经验非常有限,我很难解决这个问题。 这是我的第一个问题/帖子。 感谢您的任何反馈:)!

$('.square').each(function(i){
    if (($('.square').eq(i)).has(".cat")){
        setTimeout(function(){
            $('.square').eq(i).find('img').remove();
    }, 5000);       
};

^这是我尝试编写的代码... .square类是组成表格的正方形,如divs网格... .cat类是指丢弃的图像。

问题是可以同时将多只猫放在屏幕上。

我需要页面来识别何时将猫掉下,将其设置为5秒钟的超时时间,然后在5秒钟后从页面中删除该特定的猫。

谢谢您的帮助 :)!

var randomize = function (x) {return Math.floor(Math.random()*x)};

var startFunk = function(){
    setTimeout(function(){
        $('.square:empty')[randomize(($('.square:empty').length))].innerHTML = dropArray[randomize(dropArray.length)];
        startFunk();
    }, 500);
};

可能有帮助

$('.square').each(function(i){
    if ($(this).find('.cat').length > 0){
        $(this).find('.cat').delay(5000).fadeOut(0, function(){
            // change ..^... with img 
            $(this).remove();
        });
    }
});

在这里演示

var startFunk = function () {
    setTimeout(function () {
        var sqr = $('.square:empty')[randomize(($('.square:empty').length))];
        sqr.innerHTML = dropArray[randomize(dropArray.length)];
        sqr.has('.cat').delay(5000).empty();
        startFunk();
    }, 500);
};

并摆脱$('.square').each(function(i){...部分。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM