首页 > 解决方案 > 如何通过其值jquery增加一个数字

问题描述

我有一个按钮,单击该按钮时,它应该采用一个随机数,并在单击该按钮时将其原始值添加回其当前值。例如,如果随机数 (var diamondGuess) 为 10,则数字 10 首先出现在 div (id="d-num-test") 中。每当您单击按钮时,应将 10 添加到 div 中显示的数字值。直到回合重置,随机数函数才会选择新的随机数。

因此,如果我从 10 开始并单击按钮,页面上的 div id="d-num-test" 应该更改为 20。再次单击它是 30,然后是 40,等等......我尝试研究各种运算符和数学方法,但我得到的最接近的是 +=。如果 10 不是随机选择,这将起作用。我尝试使用变量本身 +=,但它以指数方式翻倍(使用上面的示例为 10、20、40、80)。

任何建议将不胜感激!新手在这里

谢谢!奥利弗

$(document).ready(function() {

  var diamondNum = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];
  var diamondGuess = diamondNum[Math.floor(Math.random() * diamondNum.length)];
  var diamondNumDom = $('#d-num-test');
  diamondNumDom.text(diamondGuess);

  $('#diamond').on("click", function() {
    diamondNumDom.text(diamondGuess += diamondGuess);
  });

});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="d-num-test"></div>
<button id="diamond"></button>

标签: javascriptjqueryonclickincrement

解决方案


为了防止覆盖您的diamondGuess值,您需要引入一个附加变量(diamondValue在下面的代码段中)来跟踪当前值:

$(document).ready(function() {
  var diamondNum = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];
  var diamondGuess = diamondNum[Math.floor(Math.random() * diamondNum.length)];
  var diamondValue = diamondGuess;
  var diamondNumDom = $('#d-num-test');
  
  diamondNumDom.text(diamondValue);

  $('#diamond').on("click", function() {
    diamondValue += diamondGuess;
    diamondNumDom.text(diamondValue);
  });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="d-num-test"></div>
<button id="diamond"></button>


推荐阅读