在我的页面上,我使用<div>
向页面添加了javascript
个元素。内容和数量来自服务器上文件夹的内容。页面有多列,我想将每个新的列添加到最小的列。我创建了这个函数来确定哪个列是最小的。在单个请求上运行/测试时,该功能按预期工作。当我在“for-loop”中使用需要添加的元素调用函数时,它会无限期地运行?
是
for(i = 0; i < importedElement.length; i++){}
功能是
function findSmallestColumn() {
var columns = document.getElementById("container").children;
var columnsHeight = [];
for (i = 0; i < numberOfColumns; i++) {
columnsHeight[i] = columns[i].offsetHeight;
}
var min = Math.min(...columnsHeight);
var minIndex = columnsHeight.indexOf(min) + 1;
return minIndex;
}
*“numberOfColumns是附有数字的var。
答案 0 :(得分:3)
你的函数中有第二个for
循环,它会无限增加i
。将i
替换为j
或任意两个for
循环中的任何其他变量名称,它将按预期工作。
如果使用i
关键字在for循环内部声明它们,则可以使用相同的变量名let
,该关键字仅在当前块中声明变量。