2013-08-05 46 views
-7

這是我的代碼,我試圖做一個按鈕,使隨機按鈕,但我不能連接代碼的權利。如何連接函數,createElement和random?

 

p id="demo">Click the button to display a random number. /p> 

button onclick="myFunction()">Try it  /button> 

script type="text/javascript"> 


    function myFunction(){ 
     var num = 5; 
     document.getElementById("demo").innerHTML=Math.floor(Math.random()*num) 

     var box=document.createElement("BUTTON"); 
     document.body.appendChild(box); 

     var c = num + box; 
     return c; 
    } 

任何人都可以幫助我嗎?

+0

你想要它不清楚。 –

+2

您當前的函數確實會在'#demo'元素中輸出一個隨機數,並將一個空的'

+0

我有一個按鈕,有時候我把它,它會做一個隨機的5盒,但我的代碼只生成一個隨機數和一個新的盒子有史以來我把它。但iam試圖製作5個極限的隨機盒 –

回答

0

根據我的理解,您嘗試創建'n'no.of隨機按鈕innerHTML#demo

如果是這樣你需要循環它。試試這個

function myFunction() { 
    var num = 5; 
    document.getElementById("demo").innerHTML = Math.floor(Math.random() * num) 
    var noOfButtons = document.getElementById("demo").innerHTML; 
    for (var i = 0; i < noOfButtons; i++) { 
     var box = document.createElement("BUTTON"); 
     document.body.appendChild(box); 
    } 
} 

JSfiddle

從您的評論:

1)數字顯示不正常,所以刪除#demo元素innerHTML

2)重置每個按鈕調用的按鈕計數。

每次調用單擊事件,更好的重置價值來清空像下面

document.getElementById('demo').innerHTML = ''; 

3)您需要的孩子(box)追加到#demo元素而不是身體像下面

document.getElementById('demo').appendChild(box); 

最後,你的代碼應該看起來像這樣。

function myFunction() { 
    document.getElementById('demo').innerHTML = ''; 
    var num = 5; 
    var noOfButtons = Math.floor(Math.random() * num); 
    console.log(noOfButtons); 
    for (var i = 0; i < noOfButtons; i++) { 
     var box = document.createElement("BUTTON"); 
     document.getElementById('demo').appendChild(box); 
    } 
} 

Updated JSFiddle

希望你有一些想法。

+0

我有一個按鈕,有時候我把它,它會隨機的5盒,但我的代碼只生成一個隨機數和一個新的盒子有史以來我把它。但我想盡量使隨機框的限制5 –

+0

@SørenPhithak是這樣的http://jsfiddle.net/hcgFS/2/ – Praveen

+0

感謝您的幫助現在亞姆更接近想要亞姆試圖做,但我該如何刪除還顯示的數字,我如何重置它,所以它不繼續? –