【问题标题】:JavaScript/HTML Code In Variables?变量中的 JavaScript/HTML 代码?
【发布时间】:2017-09-03 08:58:02
【问题描述】:

我正在设计一个垄断风格的数字游戏,想要一个掷骰子按钮,所以我尝试了这个:

<button class="bttnrolldice" onclick="diceRoll()">Roll Dice</button><h1 id="rollresults"></h1> 
<script>
    function diceRoll() {
            var die1 =  math.ceil(math.random() * 7;
            var die2 =  math.ceil(math.random() * 7;
            document.getElementById("rollresults").innerHTML = (die1 + die2); }
</script>

每当我运行代码时,按钮下方都不会显示任何内容。你能帮我个忙吗? (可能和js代码相等的变量有关,如果有请告诉我如何解决这个问题。)

【问题讨论】:

  • 我只想注意,您将 0 和 1 之间的随机数乘以 7。然后四舍五入。这将为您提供 1 到 7 的数字。您应该乘以 6 得到 1 到 6(尽管使用 random() 仍可能得到 0)
  • 我能等一下吗:document.getElementById("rollresults").innerHTML = ((die1 + 1) + (die2 + 1));?
  • 你可以使用Math.ceil(6*(1 - Math.random())); 这将包括1到6但不包括0
  • 有道理!
  • Math.random() 返回一个介于 0(包括)和 1(不包括)之间的浮点数,这就是减法解决问题的原因

标签: javascript function button var


【解决方案1】:

您的 Math.ceil 函数缺少右括号

<button class="bttnrolldice" onclick="diceRoll()">Roll Dice</button><h1 
id="rollresults"></h1> 
<script>
    function diceRoll() {
       var die1 =  Math.ceil(Math.random() * 7);
       var die2 =  Math.ceil(Math.random() * 7);
       document.getElementById("rollresults").innerHTML = (die1 + die2); 
   }
</script>

【讨论】:

  • 我想他想要的是Math.ceil(Math.random() *7 )
  • @MatthewCiaramitaro Thx 做了所有数学的切换,现在应该是正确的
  • 是的,天哪,我使用 w3schools.com 作为参考,我完全错过了那部分。谢谢!
【解决方案2】:

您在第 4 行和第 5 行缺少右括号。

在 Google Chrome 中运行脚本时,按 [F12],错误将在控制台选项卡上描述。

【讨论】:

  • 我在笔记本电脑上,[F12]的按钮是飞行模式的快捷方式...顺便说一句,我对js有点陌生...
  • 尤其是 js 的 math.something 部分
  • 右键单击 Chrome 并单击菜单上的检查,它将打开检查器。对 JS 调试非常有用
  • 我明白你告诉我的了
【解决方案3】:

检查元素并检查浏览器控制台是否有错误。

  1. 应该是“数学”而不是“数学”。
  2. 声明 die1 和 die2 变量的语句中缺少右括号。

【讨论】:

  • 谢谢!这真的很有帮助!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-04
  • 2020-01-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多