最初から非同期で実行され、作成時にオブジェクトが配列にプッシュされる新しいオブジェクトを作成しようとしています。ボタンをクリックして新しいオブジェクトを追加するたびに、配列内のオブジェクトの他の setInterval が停止します。次に、別のものを追加すると、それらすべてが再び開始されます。何が起きてる?
コードの一部は次のとおりです。
floor = {
w_house: function() {
this.shop = 'w_house';
this.villains = [];
this.thieves = 0;
that = this;
setInterval(function() {
if(that.thieves > 0) {
console.log(that.thieves);
}
}, 10);
lair.push(this);
return $('<li/>').addClass('w_house').addClass('floor').append($('<div/>').addClass('test').text('test'));
}}
lair = [];
$('.button').live('click', function() {
$('#lair ul').append(new floor[$(this).attr('id')]());
});
ありがとう!