2015-05-22 92 views
1

我正在做一個簡單的遊戲,用戶應該點擊蒼蠅將它們從屏幕上移除。用戶在下落時不應該點擊貓,並且我希望在5秒後貓cat消失(從DOM中移除)。如何在5秒後刪除動態添加的元素?

我很抱歉,如果這已被回答之前。由於我的經驗非常有限,我很難解決這個問題。這是我的第一個問題/有史以來。感謝任何和所有的反饋:)!

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

^這是我試着寫代碼...的.square類是構成表像的div電網的平方...和的.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); 
}; 
+1

你可能會想要一個setTimeout在任何代碼實際上是放棄貓 – adeneo

+0

你是在正確的軌道上,但你需要告訴我們你的drop代碼。 – Shomz

+0

var randomize = function(x){return Math.floor(Math.random()* x)}; var timer = 550; VAR startFunk =函數(){ \t的setTimeout(函數(){ \t \t $( '正方形:空 ')[隨機化(($(' 正方形:空'。)的長度))。innerHTML的= \t \t dropArray [隨機化(dropArray.length)]; // \t \t如果(定時器> 100){ \t \t計時器 - = 1; // \t \t}; \t \t startFunk(); \t} ,定時器); }; –

回答

0

可以幫

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

DEMO Here

+1

感謝您的幫助!我把它放在代碼中,它工作!驚人! –

+0

@Trey完成你想要做的事情..如果你放下.cat類,並想在5秒之後將其移除。答案是肯定的。每次你放棄.cat你應該運行這個代碼 –

+0

@TreyHarding你也可以玩.fadeOut(0,function(){});用1000或2000更改0以獲得一個不錯的fadeOut(),如果你想要..祝你好運:) –

0
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){...部分。

+0

感謝Samurai。我也會檢查一下!興奮得到這麼多的幫助! –