2016-06-30 101 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」)。 並從另一個事件(下拉將啓動)更改此變量。