Postanowiłem zafałszować przy pomocy jquery i stworzyć prostą grę opartą na aksonometrach. Wykonuje część mapy, a następnie ma problem ze stosem. (Przekroczony maksymalny rozmiar stosu połączeń) Na razie używam tylko kolorów tła dla płytek.Dlaczego ta pętla powoduje przepełnienie stosu?
var map = [
"g","g","g","s","s",
"g","g","s","s","w",
"g","g","s","w","w",
"g","g","s","w","w",
"g","g","s","w","w"
];
var x = 0;
var y = 0;
var count = 0;
var background;
function init() { $.each(map, function(key, value) {
x += 30;
y += 60;
if (count > 4){
x -= 120;
y -= 360;
count = 0;
}
if (value == "g"){background = "#00ff00";}
if (value == "w"){background = "#0000ff";}
if (value == "s"){background = "#ffff00";}
$('.map_piece').clone().appendTo('body').css({'top' : x + 'px', 'left' : y + 'px','display' : 'block','background' : background});
count ++;
});
}
$('document').ready(function(){
init();
});
Dziękuję bardzo za korektę i powód, dlaczego tak się stało. Nie jestem zbyt obeznany z klonem, nie zdawałem sobie sprawy, że klonowałem KAŻDĄ instancję. Obie odpowiedzi są pomocne, ale ponieważ odpowiedziałeś najpierw 2 minuty ... dostaniesz znacznik wyboru! :) –