Ich entschied mich, mit jQuery herumzualbern und ein einfaches, auf Axonometrie basierendes Spiel zu erstellen. Es rendert etwas von der Karte und hat dann ein Problem mit dem Stapel. (Maximale Call-Stack-Größe überschritten) Ich verwende nur Hintergrundfarben für die Fliesen für jetzt.Warum verursacht diese Schleife einen Stapelüberlauf?
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();
});
Vielen Dank für die Korrektur und den Grund, warum es geschah. Ich bin nicht vertraut mit Klonen, ich wusste nicht, dass ich JEDEN Fall klonen würde. Beide Antworten sind hilfreich, aber da Sie erst nach 2 Minuten geantwortet haben, erhalten Sie das Häkchen! :) –