我决定搞乱jquery,制作一个简单的基于轴测图的游戏。它呈现一些地图,然后在堆栈中出现问题。 (超过最大调用堆栈大小) 我现在只是使用背景颜色作为瓷砖。为什么这个循环会导致堆栈溢出?
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();
});
非常感谢您的纠正和原因。我对克隆不太熟悉,我没有意识到我克隆了每一个实例。这两个答案都很有帮助,但是由于你先回答2分钟......你会得到复选标记! :) – 2014-09-28 04:49:55