2012-10-16 112 views
0

我已經看到了這個網站上的其他例子,但我不能得到它的工作。變量之間的隨機數問題

我正試圖在窗體上的2個用戶輸入變量之間生成一個隨機數。數字總是正數。

min = document.getElementById('min').value; 
max = document.getElementById('max').value; 
waitTimer = Math.floor(Math.random() * (max - min + 1)) + min; 

當分鐘= 5 /最大= 10,waitTimer有時返回結果像2,4和28等。

我在做什麼錯?

+0

你試過直接寫'min = 5'和'max = 10' js – diEcho

回答

0

您必須將.value字符串轉換爲數字(我只是在我的jsFiddle中使用+運算符進行轉換)。

當您將它們轉換爲數字,這一切工作正常,你可以在這裏看到:http://jsfiddle.net/jfriend00/XF75E/

+0

一個查詢:'$('body')'也類似於'$('document.body')' – diEcho

+1

@ diEcho - 我認爲傳遞實際的DOM元素'document.body'而不是字符串''body''會更快,然後它可以被轉換爲'document.body'。 – jfriend00

+0

謝謝你的信息 – diEcho

2

下面是這個工作的小提琴。請確保您使用的parseInt()

http://jsfiddle.net/zAeR7/2/

你只需要把一些在每個輸入,然後點擊關閉輸入(或按標籤),它應該更新的隨機數。

+0

因爲'parseInt()'會根據它看到的前導字符猜測基數,所以調用'parseInt()'而不填充第二個參數(基數)是非常糟糕的。我的jsFiddle只是使用'+'運算符而沒有這個問題。 – jfriend00