1

現時点でちょっとした問題があり、あなたの誰かが私を助けてくれることを願っています. 私はいくつかのことを試しましたが、私はそれを得ることができません。JavaScript を使用してアスタリスクの三角形を印刷しようとしています。プログラムは、行の量と方向をユーザーに尋ねます。行を機能させることができないため、まだ方向性を開始していません。奇妙なことは、関数呼び出しをハードコーディングした三角形を出力できることです。

これはJSファイルです:

function myTriangle(){

var result = "";

var totalRows = document.getElementById('rows').value;
var direction = document.getElementById('UpOrDown').value;

for (var i = 1; i <= totalRows; i++){

    document.writeln("count");
for (var j = 1; j <= 1; j++)
    {
           result += "*";
    }

    result += "<br/>";
}
return result;
}

var answer = myTriangle();
document.getElementById('myDiv').innerHTML = answer;

これは HTML ファイルです。

<!DOCTYPE html>
<head>
<title>Lab 2</title>
<script src="scripts.js", "div.js"></script>

</head>
<body>

<form name="myForm">
    <fieldset>
        <legend>Input Fields</legend>
    rows:      <input type="text" id="rows" /><br>
    direction: <input type="text" id="UpOrDown" /><br>
    press: <input type="button" value="GO!" id="myButton" 
    onclick="myTriangle();"/>
    </fieldset>
</form>

<div id="myDiv">

</div>  

</body>

出力は次のようになります。

*
**
***
****
*****
4

4 に答える 4

0

これは私の解決策です。es2015 を使用して.replace()いますが、es5 用の素敵なポリフィルもあります

var output = document.getElementById('output');



function triangle (size) {
  for (var i = 1; i <= size; i++) {
    output.innerHTML += '*'.repeat(i) + '<br>';
  }
}

triangle(2);

これはES3/5での解決策です

var output = document.getElementById('output');

function triangle(size) {
  var allLines = '';
  for (var i = 1; i <= size; i++) {
    var oneLine = createLine(i);
    allLines += oneLine;
  }
  return allLines;
}

function createLine(length) {
  var aLine = '';
  for (var j = 1; j <= length; j++) {
    aLine += '*';
  }
  return aLine + "<br/>";
}

output.innerHTML += triangle(3);
<div id='output'></div>

于 2015-12-10T22:37:01.867 に答える
0

これは有効なスクリプト タグではありません。

<script src="scripts.js", "div.js"></script>

2 つのタグに分割する必要があります。

<script src="scripts.js"></script>
<script src="div.js"></script>
于 2013-06-23T14:40:36.257 に答える