-1

この間隔を2秒ごとからランダムにX〜X秒にするにはどうすればよいですか?また、増分を2増分ごとからランダムにX-Xに変更するにはどうすればよいですか?私のコードに欠陥があったり、改善が必要な場合は、喜んで別のコードでお知らせください。とても有難い。

<div id="counter"></div>
<script type="text/javascript">
  var START_DATE = new Date("January 1, 2012 12:00:00"); // put in the starting date here
  var INTERVAL    = 2; // in seconds
  var INCREMENT   = 2; // increase per tick
  var START_VALUE = 5000; // initial value when it's the start date
  var count = 0;
  window.onload = function()
  {
    var msInterval = INTERVAL * 2000;
    var now = new Date();
    count = parseInt((now - START_DATE)/msInterval) * INCREMENT + START_VALUE;
    document.getElementById('counter').innerHTML = count;
    setInterval(
      "count += INCREMENT; document.getElementById('counter').innerHTML = count;", msInterval);
  }
</script>
4

2 に答える 2

1

2つの数値の間の乱数

var min = 1000, max = 10000;
var msInterval = Math.floor(Math.random() * (max - min + 1)) + min;

setIntervalでクロージャを使用して文字列として渡さないでください

setInterval(function(){
    count += INCREMENT; 
    document.getElementById('counter').innerHTML = count;
    }, msInterval);

フィドルフィドル、私はそれをより速くするためにいくつかの大きな値を編集しましたhttp://jsfiddle.net/sabithpocker/8CpaF/

于 2012-06-25T23:22:55.227 に答える
0
  • 2〜5の数値を生成するには、

var x = Math.floor(Math.random()* 3 + 2;

  • 0を出すと2になり、3を出すと5になります。
<script type="text/javascript">
  var START_DATE = new Date("January 1, 2012 12:00:00"); // put in the starting date here
  var INTERVAL    = 2;
  var INCREMENT   = Math.floor(Math.random()*3)+2;
  var START_VALUE = 5000; // initial value when it's the start date
  var count = 0;
  window.onload = function()
  {
    var msInterval = INTERVAL * 2000;
    var now = new Date();
    count = parseInt((now - START_DATE)/msInterval) * INCREMENT + START_VALUE;
    document.getElementById('counter').innerHTML = count;
    setInterval(
      "count += INCREMENT; document.getElementById('counter').innerHTML = count;",     msInterval);
  }
</script>
于 2012-06-25T23:19:11.187 に答える