我在JS文件的顶部定义了一些全局数组。有用于填充数组的循环。我已经完成了非常类似的工作,但由于某种原因,这是有问题的。第一个for循环只运行一次,下面的代码永远不会运行。
var group = 'a';
var RoofVar = 1;
var TrimVar = 1;
var BBVar = 1;
var imageArrayGroup0 = [];
var floatingButtonArrayGroup0 = [];
var labelArrayGroup0 = [];
for (a = 1; a < 3; a++) {
labelArrayGroup0[a] = document.createElement("Label");
labelArrayGroup0[a].type = "Label";
floatingButtonArrayGroup0[a] = document.getElementById('floatingButton0' + (100 + a));
floatingButtonArrayGroup0[a].style.textAlign = "center";
floatingButtonArrayGroup0[a].style.paddingTop = "5px";
labelArrayGroup0[a] = document.getElementById('floatingButton0' + (100 + x));
}
var imageArray0 = [];
var floatingButtonArray0 = [];
var labelArray0 = [];
for (b = 1; b < 5; b++) {
imageArray0[b] = document.createElement("img");
imageArray0[b].type = "image";
floatingButtonArray0[b] = document.getElementById('floatingButton0' + (b));
floatingButtonArray0[b].style.paddingLeft = "15px";
floatingButtonArray0[b].style.paddingTop = "5px";
labelArray0[b] = document.getElementById('floatingButton0' + b);
}
var imageArray1 = [];
var floatingButtonArray1 = [];
var labelArray1 = [];
for (c = 1; c < 3; c++) {
imageArray1[c] = document.createElement("img");
imageArray1[c].type = "image";
floatingButtonArray1[c] = document.getElementById('floatingButton1' + (c));
floatingButtonArray1[c].style.paddingLeft = "15px";
floatingButtonArray1[c].style.paddingTop = "5px";
labelArray1[c] = document.getElementById('floatingButton1' + c);
}
答案 0 :(得分:0)
答案 1 :(得分:0)
除了(100 + x)
而不是(100 + a)
之外,您还有其他问题。
首先,JavaScript中的数组是“从零开始”,但循环从1开始。 这意味着你要把东西放进去,但是点'0'未定义,这可能会在以后破坏。
下一步。在循环开始时,您将labelArrayGroup0[a]
设置为一个新的空白标签,但是您从不做任何事情将它放在页面上。在循环结束时,您将labelArrayGroup0[a]
覆盖到从页面中提取的floatingButton
元素。
实际上,你在每个循环中都这样做 - 最后一行重置第一行的值。
目前尚不清楚你想要完成什么。大概你打算将labelArrayGroup0[a]
添加到页面中吗?
另外,在中间,你设置floatingButtonArrayGroup0[a] = document.getElementById('floatingButton0' + (100 + a));
,它与你在循环的最后一行中获取的元素相同......