簡體   English   中英

如何計算所有生成的數字?

[英]How to count all the numbers that is generated?

我正在嘗試做的事情:

  • 計算每 5 秒生成的所有數字。

實際結果

  • 只生成數字,但不計算它們。

預期成績

  • 計算生成並顯示在問題旁邊的所有數字。

 function generator() { number = Math.floor(Math.random() * 11); setTimeout(function() { setTimeout(function() { document.getElementById("demo").innerHTML = number; generator(); }, 5000); }) } function add() { var count = 0 var element = document.getElementById("demo").innerHTML; if (element.innerHTML) { count++ document.getElementById("demo1").textContent = count++; } } generator(); add();
 <p id="demo"></p> How many numbers was generated? <p id="demo1"></p>

您只調用add()一次。 您可能想從generate()函數內部調用它。 此外, var count = 0應該在add()函數之外,以便它的值在調用之間保持不變。

旁注:

  • 每次add()調用add() count增加兩次。

  • generate()的外部setTimeout沒有用。

  • number是一個泄漏的全局變量,你應該用var聲明它

我建議您使用setInterval進行重復調用,並使用data屬性來存儲當前計數。

提取document.getElementById的調用以避免在每個setInterval循環中查找元素。

 var demoElem = document.getElementById("demo"); var countElem = document.getElementById("demo1"); function generator() { var interId = setInterval(function() { var number = Math.floor(Math.random() * 11); demoElem.textContent = number; add(); }, 2000); } function add() { countElem.dataset.count = Number(countElem.dataset.count) + 1; countElem.textContent = countElem.dataset.count; } generator();
 <p id="demo"></p> How many numbers was generated? <p id="demo1" data-count='0'></p>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM