将Javascript随机数生成为HTML

时间:2017-09-06 12:47:56

标签: javascript html css

需要帮助Javascript在HTML中生成数字。我已经关闭但无法完成工作。帮助将不胜感激。

http://jsfiddle.net/xmPgR/251/



function getNumber() {
    var minNumber = 0; // The minimum number you want
    var maxNumber = 100; // The maximum number you want
    var randomnumber = Math.floor(Math.random() * (maxNumber + 1) + minNumber); // Generates random number
    $('#myNumber').html(randomnumber); // Sets content of <div> to number
    return false; // Returns false just to tidy everything up
}

window.onload = getNumber; // Runs the function on click
document.getElementById("yourNumber").innerHTML = randomnumber;
&#13;
<div id="myNumber"></div>
<p id="yourNumber">
</p>
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:3)

您的onload在下一个语句之后工作,因为它以异步方式工作。除此之外,您在其范围内使用randomnumber,而不是accessible

所以我建议你从函数返回randomnumber并在onload事件处理程序中使用该函数。在该处理程序内部调用您的函数,获取数字并分配给元素的文本。

如果您getNumer的逻辑是要返回该号码,也不要在其中分配任何内容,只需返回该号码即可。 它的责任是返回一个随机数。将范围传递给它,不要硬编码:在另一个地方你可以需要一个不同范围的随机数。该功能之外的其他逻辑实现。

&#13;
&#13;
function getRandomNumber(minRange, maxRange) {
    return Math.floor(Math.random() * (maxRange + 1) + minRange);
}

window.onload = function() {
    const rand = getRandomNumber(0, 100);
    document.getElementById("yourNumber").innerHTML = rand;
    $('#myNumber').html(rand);
};
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="myNumber"></div>
<p id="yourNumber"></p>
&#13;
&#13;
&#13;

答案 1 :(得分:2)

你走了:

function getNumber() {
    var minNumber = 0; // The minimum number you want
    var maxNumber = 100; // The maximum number you want
    var randomnumber = Math.floor(Math.random() * (maxNumber + 1) + minNumber); // Generates random number
    document.getElementById("myNumber").innerHTML = randomnumber; // Sets content of <div> to number
    return false; // Returns false just to tidy everything up
}

window.onload = getNumber; // Runs the function on click
<div id="myNumber"></div>
<p id="yourNumber">
</p>