【问题标题】:Random Number Generator With alerts带有警报的随机数生成器
【发布时间】:2015-12-06 20:56:34
【问题描述】:

我正在尝试制作一个生成 1 到 20 之间的随机数的程序,如果生成的数字小于 10,它会提醒单词“失败”,如果大于 10,则会提醒单词“成功”。我无法弄清楚我哪里出错了。帮助!

<!DOCTYPE html>
<html>
<body>

<p>Click the button to display a random number between 1 and 20.</p>

<button onclick="myFunction()">Roll</button>

<p id="demo"></p>

<script>
function myFunction() {
    var x = Math.floor((Math.random() * 20) + 1);
    document.getElementById("demo").innerHTML = x;
}    
    if (x < 10) 
{
    text = (x + “Success”);
}
    else 
{
    text = (x + “Fail”);
}
document.getElementById("demo").innerHTML = text;
</script>

</body>
</html>

【问题讨论】:

  • 对于初学者,您检查过开发者控制台是否有错误?
  • 尝试将“ & ” 替换为' 或"
  • 在函数之外声明 x 也 if the number generated is less than 10 it alerts the word "fail" 但你的代码会提醒“成功”。你必须交换成功和失败
  • x 仅存在于您的函数中,因此在您执行 if() 测试时是一个未定义的变量 - 检查您的 JS 调试控制台以确认。

标签: javascript html random numbers


【解决方案1】:

您以错误的方式写了引号 "" 并且您有范围问题,请参阅 codepen snippet 并找出您的错误

var x='';
var myFunction= function () {
     x = Math.floor((Math.random() * 20) + 1);
    document.getElementById("demo").innerHTML = x;

    if (x < 10) 
{
    text = x + "Success";
}
    else 
{
    text = (x + "Fail");
}
document.getElementById("demo").innerHTML = text;
}

【讨论】:

  • 将您的代码放入答案本身。人们不应该离开现场才能看到它。答案应该是自包含的
  • 哦,你真的是从哪里得到这个规则的?为什么你投了我的票?所有stackoverflow用户都把jsfiddle和codepen页面放在这里!!!
  • 非常感谢,这真的帮助了我
【解决方案2】:

您好,您的代码中有几个错误

所有代码都必须写在你的函数 myFunction();因为 x 的范围仅在该函数内。

您可以通过 jquery 轻松实现这一点,请查看下面的代码和 js fiddle 演示

 $(document).ready(function(){  
        $('#btnRoll').on('click',function(){
             var x = Math.floor((Math.random() * 20) + 1);
           var x = Math.floor((Math.random() * 20) + 1);       
           if(x<10)
             $('#demo').html(x+' fail');
           else
             $('#demo').html(x+' Success');
        });
    });

JsFiddle

谢谢

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-01
    • 2014-02-05
    • 1970-01-01
    • 1970-01-01
    • 2022-08-15
    • 2023-02-06
    相关资源
    最近更新 更多