0

我希望星星按行递增或递减,换句话说,我希望第一行显示 1 星,第二行 2 星,第三行 3 星等。

<!DOCTYPE html>
<html>
<body>

<script>
function seethestars() {
        stars = ["*", "**", "***", "****", "*****"];
        for (var i = 0, l = stars.length; i < l; i++) {
            document.getElementById("emptytext2").value = (stars[i] + "");
        }
    }
</script>
<textarea id="emptytext2" name="S2"></textarea></td>

<input id="emptytext3" type="button" value="Click for the stars" onclick ="seethestars()" /><tr>
</body>
</html>

像这样

在此处输入图像描述

4

4 回答 4

0
var n=10;
function seethestars() {
   var s;
   document.getElementById("emptytext2").value = "";
   for (var i = 1; i <= n; i++) {
      s="";
      for (var j=0; j < i; j++) {
         s+="*";
      }
      document.getElementById("emptytext2").value += s+"\n";
   }
}

我没有尝试过代码,但我相信它应该看起来像这样。

于 2013-11-07T13:16:51.880 回答
0

你可以试试这个功能

<script>
    function DrawStars(LinesNo) {
        for (var j=1;j<LinesNo;j++)  {
           for( var i =0 ;i<j;i++) {
              document.getElementById("emptytext2").value += "*";
           }
           document.getElementById("emptytext2").value += "\n";
        }
    }
</script>
于 2013-11-07T13:26:05.697 回答
0

您在这里要做的是向后循环遍历数组。这并不难。您只需要从 开始for循环stars.length并下降到0,而不是向上计数。

您还需要制作=into +=,以使 Javascript 附加到而不是替换现有内容。

function seethestars() {
    stars = ["*", "**", "***", "****", "*****"];
    for (var i = stars.length; i--; ) {
        document.getElementById("emptytext2").value += (stars[i] + "\n");
    }
}

jsFiddle

于 2013-11-07T13:12:24.830 回答
0

观看演示 `

<script type="text/javascript">
    function seethestars() {
        //Stars incrementation
        stars = 5;
        var starsHtml = '';
        for (var i = 1; i <= stars; i++) {
            starsHtml += Array(i+1).join("*")+ "\n";
        }
        document.getElementById("emptytext2").value = starsHtml;
    }
    //Stars decrementation
    function seethestarsReverse() {
        stars = 5;
        var starsHtml = '';
        for (var i = 1; i <= stars; i++) {
            starsHtml += Array(i+1).join("*")+ "\n";
        }
        var starsHtml = starsHtml.split("").reverse().join("").substring(1);
        document.getElementById("emptytext2").value = starsHtml;
    }
</script>

`

于 2013-11-07T13:49:22.147 回答