如何将其更改为for循环?

时间:2016-04-12 12:42:29

标签: javascript

如果我找不到将其置于for循环中的方法,我会有一个很小的脚本。

if(buildLevel >= 2){
    $( "#house1").html( "<img style='width: 200px; height: 150px; top:0; left: 0; position: absolute;' data-u='image' src='images/house1.jpg' />"  );
}
if(buildLevel >= 3){
    $( "#house2").html( "<img style='width: 200px; height: 150px; top:0; left: 0; position: absolute;' data-u='image' src='images/house2.jpg' />"  );
}
if(buildLevel >= 4){
    $( "#house3").html( "<img style='width: 200px; height: 150px; top:0; left: 0; position: absolute;' data-u='image' src='images/house3.jpg' />"  );
}

所以你可以看到。包括图像名称在内的所有数字每次都应增加1。所以,如果有一个额外的房子,那就是这样的:

if(buildLevel >= 5){
    $( "#house4").html( "<img style='width: 200px; height: 150px; top:0; left: 0; position: absolute;' data-u='image' src='images/house4.jpg' />"  );
}

我希望有人能帮助我。我无法找到一个好的解决方案。

2 个答案:

答案 0 :(得分:1)

for ( var i=1 ; i< 6; i++){
 if(buildLevel >= i){
      $( "#house"+i).html( "<img style='width: 200px; height: 150px; top:0; left:          0; position: absolute;' data-u='image' src='images/house'+i+'.jpg' />"  );
  }
}

答案 1 :(得分:1)

您可以这样做,使用 buildLevel 作为for循环的结束条件:

for (var i = 1; i < buildLevel; i++) {
    $( "#house" + i).html( "<img style='width: 200px; height: 150px; top:0; left: 0; position: absolute;' data-u='image' src='images/house'+i+'.jpg' />"  );
}