我正在为学校做这个项目。 但我无法弄清楚一个问题。
我有两行彩盒,但我使用for循环,参数不在for循环中。线条有不同的地方和不同的长度。那我怎么能在for循环中使用参数呢?恰到好处,每次都可以使用。
到目前为止我的代码:
box('box', 3);
box('box2, 4);
function box(id,aantal){
for(var i = 0; i < aantal.length; i++){
var box = document.createElement("div");
box.style.height = "175px";
box.style.width= "175px";
box.style.borderRadius = "5px";
box.style.backgroundColor = "#e6e6e6";
box.style.marginLeft ="25px";
box.style.marginTop = "-160px";
box.style.float = "left";
document.getElementById(id).appendChild(box);
}
}
答案 0 :(得分:2)
aantal
参数是一个数字,因此您不应该使用aantal.length
,而只需
for (var i = 0; i < aantal; i++) {
box('box', 3);
box('box2', 4);
function box(id, aantal) {
for (var i = 0; i < aantal; i++) {
var box = document.createElement("div");
box.style.height = "175px";
box.style.width = "175px";
box.style.borderRadius = "5px";
box.style.backgroundColor = "#e6e6e6";
box.style.marginLeft = "25px";
box.style.float = "left";
document.getElementById(id).appendChild(box);
}
}
&#13;
<div id="box"></div>
<div id="box2"></div>
&#13;
答案 1 :(得分:1)
box('box', 3);
box('box2', 4);
function box(id,aantal){
for(var i = 0; i < aantal; i++){
var box = document.createElement("div");
box.style.height = "175px";
box.style.width= "175px";
box.style.borderRadius = "5px";
box.style.backgroundColor = "#e6e6e6";
box.style.marginLeft ="25px";
box.style.marginTop = "-160px";
box.style.float = "left";
document.getElementById(id).appendChild(box);
}
}
答案 2 :(得分:-1)
从下面的代码中,我可以看到,在第二次调用box
时,
你没有关闭字符串,这将导致运行时错误。调用应如下所示:box('box2', 4);
。还有一个问题是,您希望aantal
成为一个数组,因为您正在访问它的length
属性。但是,您将整数作为aantal
传递给函数。
box('box', 3);
box('box2, 4);
function box(id, aantal){
for(var i = 0; i < aantal.length; i++){
var box = document.createElement("div");
box.style.height = "175px";
box.style.width= "175px";
box.style.borderRadius = "5px";
box.style.backgroundColor = "#e6e6e6";
box.style.marginLeft ="25px";
box.style.marginTop = "-160px";
box.style.float = "left";
document.getElementById(id).appendChild(box);
}
}
如果函数应该创建多个框,那么你的循环看起来应该更像for(var i = 0; i < aantal; i++)
,因为aantal本身就是一个数字。这样的循环将创建您作为第二个参数传入的框数。