基于输入的上限和下限的随机数

时间:2017-03-18 20:42:50

标签: javascript html css random numbers

我不能为我的生活,弄清楚为什么这不会正确地调用用户输入?用户应该给出范围的上限和下限,然后当他们提交时,在这两个数字之间给出一个随机数。我认为问题是当我调用“.value”但我不知道其他任何方式这样做,所以任何帮助都非常感激。

w
function numberGen(){
    var minimum = document.getElementById("minimum").value;
    var maximum = document.getElementById("maximum").value;
    var number = Math.floor((Math.random() * minimum) + maximum);
    document.getElementById("output").innerHTML = number;
}
body{background-color: #000000;}
h1{font-family:sans-serif;
color:#ffffff}
p{font-family:sans-serif;
color:#ffffff;}
input[type=number] {
    width: 150px;
    border: 2px solid #ffffff;
    border-radius: 4px;
    font-size: 16px;
    background-color: #262626;
    padding:15px 30px;
    color:#ffffff;
}
input[type=number]:hover {
    
    background-color: #515151;
    
}
button{
    border: 2px solid #ffffff;
    background-color: #000000;
    color:#ffffff;
    padding:15px 40px;
    font-size:16px;
    border-radius:5px
}
button:hover{
    background-color: #ffffff;
    color:#5a5a5a;
}
.output{
    border: 2px solid #ffffff;
    background-color: #000000;
    border-radius:5px;
    padding:15px;
}
.blink_me {
  animation: blinker .7s linear infinite;
}

@keyframes blinker {  
  from { opacity: 1; }
    to{opacity:0;}
}

1 个答案:

答案 0 :(得分:1)

您需要使用随机数因子的最大值和最小值的增量,然后添加最小值。

function numberGen(){
    var minimum = +document.getElementById("minimum").value;
    //            ^ convert number to string
    var maximum = +document.getElementById("maximum").value;
    //            ^ convert number to string
    var number = Math.floor((Math.random() * (maximum - minimum + 1)) + minimum);
    //                                                          ^^^ correction for max val
    document.getElementById("output").innerHTML = number;
}

此提案撤回包含给定值的随机值。

function numberGen(){
    var minimum = +document.getElementById("minimum").value;
    var maximum = +document.getElementById("maximum").value;
    var number = Math.floor((Math.random() * (maximum - minimum + 1)) + minimum);
    document.getElementById("output").innerHTML = number;
}
body{background-color: #000000;}
h1{font-family:sans-serif;
color:#ffffff}
p{font-family:sans-serif;
color:#ffffff;}
input[type=number] {
    width: 150px;
    border: 2px solid #ffffff;
    border-radius: 4px;
    font-size: 16px;
    background-color: #262626;
    padding:15px 30px;
    color:#ffffff;
}
input[type=number]:hover {
    
    background-color: #515151;
    
}
button{
    border: 2px solid #ffffff;
    background-color: #000000;
    color:#ffffff;
    padding:15px 40px;
    font-size:16px;
    border-radius:5px
}
button:hover{
    background-color: #ffffff;
    color:#5a5a5a;
}
.output{
    border: 2px solid #ffffff;
    background-color: #000000;
    border-radius:5px;
    padding:15px;
}
.blink_me {
  animation: blinker .7s linear infinite;
}

@keyframes blinker {  
  from { opacity: 1; }
    to{opacity:0;}
}
    <center>
    <h1>Random Generator</h1>
        <br>
    <p>Type your minimum and maximum veriables into the text boxs.</p>
        <table cellspacing = 50px width = 100%>
        <tr>
          <td align = right width = 50%>
            <form id="form" onsubmit="return false;">
    <input  type="number" id="minimum" placeholder="minimum"/>
</form>
            </td>    
            <td align = left width = 50%>
                <form id="form" onsubmit="return false;">
    <input  type="number" id="maximum" placeholder="maximum"/>
</form>
            </td>
            </tr>
        </table>
        <button onclick = "numberGen()">Submit</button>
        <br>
        <table class = output width = 50%>
        <tr>
            <td align = left>
              <p id = output><font  color = #A9A9A9 >Output<span class = blink_me>:</span></font></p>
            </td>
            </tr>
        </table>
    </center>
    <script src = gen.js></script>