2016-06-30 100 views
0

我在这里有一段代码,并进入我的画布,它显示了10个三角形进入一个圆圈,但我的问题是变量是10(var aantal = 10)。 我想要一个下拉菜单,人们可以说有多少个三角形必须在画布中旋转。Javascript onclick更改变量

这里是如何看起来像现在: http://21248.hosts.ma-cloud.nl/bewijzenmap/periode4/SCT/10x3hoek/index.html

 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; 

     } 

     (function drawFrame() { 
     window.requestAnimationFrame(drawFrame, canvas); 
     context.clearRect(0, 0, canvas.width, canvas.height); 

     for (var i = 0; i < aantal; i++) 

回答

0

添加下面的HTML创建一个下拉菜单

<select id='aantal-select'> 
    <option value='10'>10</option> 
    <option value='20'>20</option> 
    <option value='30'>30</option> 
</select> 

然后将下面的脚本来更新您的aantal变量

var selectElem = document.getElementById('aantal-select'); 

selectElem.onchange = function() { 
    aantal = selectElem.value; 

    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

我需要将var = aantal替换为那段javascript吗? – Bas

+0

只需将脚本添加到您的'window.onload'函数 – gdros

+0

请注意,在更改'aantal'值后,您必须再次创建三角形 – gdros

0

加入你的HTML

<select id="select_triangles"> 
    <option value="1">1</option> 
    <option value="2" selected="selected">2</option> 
    <option value="3">3</option> 
    <option value="4">4</option> 
</select> 

在你的JavaScript代码,你可以检查这样

var e = document.getElementById("select_triangles"); 
var strUser = e.options[e.selectedIndex].value; 
0

选定值的值如果您使用的是香草的JavaScript(无jQuery的/角或任何其他),最简单的将是将“aantal”变量更改为全局(删除声明中的“var”)。 并从另一个事件(下拉将启动)更改此变量。