嘿,在那里寻找解决方案

hey there, looking out for a solution

本文关键字:解决方案 寻找 在那里      更新时间:2023-09-26

嗨,我在使程序正常运行时遇到问题。我能够清除任何语法错误,但现在我的输出有问题。我需要输出

* * * * *
* * * * 
* * *
* * 
*

代码是

var i = 1;
while (i < 6)
{
    if (i==1)
    {
        document.getElementById("demo").innerHTML = "* * * * *<br>";
    }
    else if (i==2)
    {
        document.getElementById("demo").innerHTML = "* * * *<br>";
    }
    else if (i==3)
    {
        document.getElementById("demo").innerHTML = "* * *<br>" ;
    }
    else if (i==4)
    {
        document.getElementById("demo").innerHTML = "* *<br>" ;
    }
    else if (i==5)
    {
        document.getElementById("demo").innerHTML = "*" ;
    }
    else 
    {
        document.getElementById("demo").innerHTML = "";
    }
    i++;
}

使用innerHTML += YOUR_VALUE在现有 HTML 中插入新HTML

试试这个:

var i = 1;
while (i < 6) {
  if (i == 1) {
    document.getElementById("demo").innerHTML += "* * * * *<br>";
  } else if (i == 2) {
    document.getElementById("demo").innerHTML += " * * * *<br>";
  } else if (i == 3) {
    document.getElementById("demo").innerHTML += " * * *<br>";
  } else if (i == 4) {
    document.getElementById("demo").innerHTML += "* * <br>";
  } else if (i == 5) {
    document.getElementById("demo").innerHTML += "*<br>";
  } else {
    document.getElementById("demo").innerHTML += "<br>";
  }
  i++;
}
<div id="demo"></div>

在这里摆弄

或者可以简化为:

var i = 5;
var makeStart = function(count) {
  var star = '';
  for (var i = 0; i < count; i++) {
    star += '*';
  }
  return star;
}
while (i) {
  document.getElementById("demo").innerHTML += makeStart(i) + '<br>';
  i--;
}
<div id="demo"></div>

您可以改用循环。

(function(){
  var html = "";
  for(var i = 5; i>0; i--){
    for(var j=0; j<i; j++){
      html+= "* ";
    }
    html += "<br/>";
  }
  
  document.getElementById("demo").innerHTML= html;
})()
<div id="demo"></div>