javascript - 功能警报框

标签 javascript

该功能运行良好,但我不知道为什么我的警报框在点击后不会触发。

<html>
<script type="text/javascript">
  function getRNG(min, max) {
    return Math.floor(Math.random() * (max - min + 1) + min);
  }
  function rollD20() {
    document.getElementById("txtNumber").value = getRNG(1, 20);
  }
  if (txtNumber < 10) {
    alert("Failure");
  } else {
    alert("Success");
  }
</script>

<body>
  <input type="text" disabled="disabled" size="2" id="txtNumber" />
  <div id="output"></div>
  <button onclick="rollD20();">Roll</button>
</body>
</html>

最佳答案

您遇到关闭问题。应该是:

<script type="text/javascript">
  function getRNG(min, max) {
    return Math.floor(Math.random() * (max - min + 1) + min);
  }
  function rollD20() {
    document.getElementById("txtNumber").value = getRNG(1, 20);
    if (txtNumber < 10) {
        alert("Failure");
    }
    else {
        alert("Success");
    }
  }
</script>

所做的更改是将 rollD20 函数的右括号移至 if/else 语句下方。

还值得注意的是,我没有看到您设置 txtNumber 的任何地方。

也许你的意思是:

  function rollD20() {
    var txtNumber = getRNG(1, 20);
    document.getElementById("txtNumber").value = txtNumber;
    if (txtNumber < 10) {
        alert("Failure");
    }
    else {
        alert("Success");
    }
  }

如果是这样,这可以进一步减少(如果需要)到简单:

  function rollD20() {
    var txtNumber = document.getElementById("txtNumber").value = getRNG(1, 20);
    alert(txtNumber < 10 ? "Failure" : "Success");
  }

关于javascript - 功能警报框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32483144/

相关文章:

javascript - 达到 10 次摘要迭代,正在中止(作用域函数问题)

JavaScript OOP 从其他函数调用函数

javascript - 为什么动画播放状态一直是running?

javascript - 通过将对象的数据存储在变量中来打印对象的数据

javascript - 解析 Jquery Ajax 中的嵌套 XML 响应

JavaScript 调用

javascript - 如何在不修改子项的情况下操作父项(css/react)

javascript - Bootstrap 导航栏切换按钮不起作用

javascript - 如何在不创建新标签的情况下使用 Window.open 在 Chrome 中打开 mailto 链接?

javascript - 运行 Screeps 游戏脚本时出错