" var aantal = 10"给了我10个traingles但我希望用户插入自己的三角形数量。
var aantal = 10;
var triangle = [];
for (var i = 0; i < aantal; i++){
triangle[i] = new Triangle;
triangle[i].xLeft = 20 + 30*i;
triangle[i].yLeft = 20 + 20*i;
}
答案 0 :(得分:0)
通过Window.prompt
方法快速简便地在浏览器中询问用户输入。
这会停止您的代码,直到用户按下&#34; OK&#34;或&#34;取消&#34;在弹出窗口中。当用户填写一个值并按下&#34; OK&#34;时,该值将返回string
。这是一个例子:
var userInput = prompt("How many triangles do you want?", 10);
var count = parseInt(userInput, 10);
for (var i = 0; i < count; i += 1) {
console.log("Triangle " + i);
}
&#13;
请注意,您需要将string
明确转换为number
。此外,您可能需要检查null
或NaN
:当用户按下&#34;取消&#34;或者填写无效数据,您需要进行备用。
一旦此方法有效,您可能想尝试创建一个<input type="number">
HTML元素并从那里获取数据。
答案 1 :(得分:0)
我认为Bas要求触发一个函数的html下拉列表,如下所示:
<!-- /JavaScript code-->
<script>
function setTriangles(value) {
var aantal = eval(value);//evaluate the input as it's coming as a string
if (aantal == 0) { //do nothing if the user has picked the description "Select number of triangles" in the drop down
return;
}
var triangle = [];
for (var i = 0; i < aantal; i++) {
triangle[i] = new Triangle;
triangle[i].xLeft = 20 + 30 * i;
triangle[i].yLeft = 20 + 20 * i;
}
}
</script>
<!-- /end of JavaScript code-->
<!-- /HTML code-->
<select id="input" onChange="setTriangles(this.value);">
<option value="0">Select number of triangles</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="5">5</option>
<option value="10">10</option>
<option value="20">20</option>
<option value="30">30</option>
</select>
<!-- /end of HTML code-->
&#13;