Javascript 虚拟赌场中的“货币”货币变量不工作,立即重置

Javascript 虚拟赌场中的“货币”货币变量不工作,立即重置,javascript,html,Javascript,Html,我正在尝试制作一个虚拟赌场来练习Javascript。我已经让轮盘赌工作,所以现在我想添加一个货币功能。基本上,玩家带着200美元进入赌场,当他或她赌博时,他们的货币金额会发生变化 这是我试图做的。在文档的html部分,有一句话是这样写的:You current have$200。200被封装在一个名为m的div中。然后,可变货币从该句子/div中获取该数字。当玩家旋转轮盘时,货币被减去或添加到可变货币中,然后div m的内容相应地改变 我所希望的是,在玩家旋转轮子之后,这将重写div'm'的内

我正在尝试制作一个虚拟赌场来练习Javascript。我已经让轮盘赌工作,所以现在我想添加一个货币功能。基本上,玩家带着200美元进入赌场,当他或她赌博时,他们的货币金额会发生变化

这是我试图做的。在文档的html部分,有一句话是这样写的:You current have$200。200被封装在一个名为m的div中。然后,可变货币从该句子/div中获取该数字。当玩家旋转轮盘时,货币被减去或添加到可变货币中,然后div m的内容相应地改变

我所希望的是,在玩家旋转轮子之后,这将重写div'm'的内容,从而改变可变货币。然而,这根本不起作用。下面是代码示例:

var money = document.getElementById("m");

function spin(){
  var landing = Math.floor(Math.random() * 4) + 1;   

  var nsvalue = parseInt(document.regular_roulette.num_select.value);

  var betvalue = parseInt(document.regular_roulette.bet.value);

  if (landing === nsvalue) {
    alert("You win $" + betvalue * 3);

    money = money + (betvalue * 3);
  } else {
    alert("You lose $" + betvalue);

    money = money - betvalue;
  }

  document.getElementById("m").innerText = money;
}

//why is it fleeting?  I've seen this before.
        </script>
</head>
<body>

    You currently have $<div id = "m">200</div>
假设玩家下注7美元。发生的情况是,div'm'将闪烁一个数字-7或21 if,显示玩家赢或输了多少,然后立即恢复为200。如果我在变量money的赋值周围加上一个parseInt,这只会导致它闪烁NaN。即使我放弃这个概念,只把var money=200,它也会在返回到200之前闪烁193

我该怎么做?如何使货币变量根据下注结果增加或减少,并且可以跨越多个旋转

您在文档的头部定义了money,它在可用之前执行。您还将值设置为元素,而不是元素中的文本。因此,货币没有定义

您需要将其放在onload处理程序中,或者放在closing body标记之前

我不知道您是如何进行document.regular_轮盘赌的,所以这只是使用一个静态值,但它可能会有帮助:

风险值货币 函数自旋{ var landing=Math.floorMath.random*4+1; var nsvalue=parseInt10; var betvalue=parseInt10; 如果着陆===nsvalue{ document.getElementById'alert'.innerHTML=您赢得了$+betvalue*3 金钱=金钱+价值*3; }否则{ document.getElementById'alert'.innerHTML=您将丢失$+betvalue 金钱=金钱-价值; } document.getElementByIdm.innerText=货币; } window.onload=函数{ money=parseIntdocument.getElementByIdm.innerText; } 你现在有$ 200
对不起,我应该把onload处理程序放在哪里?@DennisMarkham我添加了一个例子。如果这是我的,我会在javascript中设置一个集合,并将其添加到div中,而不是从div中读取它-但这是一个不同的问题。