计数器未显示输出

时间:2016-12-28 05:16:27

标签: javascript

我现在意识到我评论过它并没有发给所有人,所以我会在这里更新。我已经更改了变量和if语句。那部分有效。我还编辑了代码以反映变量,count和i。 Count是典型的计时器变量,每秒递增一次。变量i是相同的,除了我将它除以5000以使其每5秒递增一次。

现在看来,我仍然在增加超过500。我现在宣布我在整个函数之外,现在它停止递增i。但是,当我刷新时,它会给我一个递增的数字。

  1. 当我点击500时,它需要保存它具有的任何值,因此当计时器(计数)在午夜0点开始并再次开始时,它可以被添加到第二天的总计。因为我需要保持它的值,所以我没有把我传递给clearInterval(),就像我对count一样。
  2. 这是更新的if语句,以反映我正在尝试做的事情。

        if (count >= 0 && i < 500) {
    
            count = Math.floor((new Date().getTime() - d.getTime()) / 1000);
            i = Math.floor( ( new Date().getTime() - d.getTime() ) / 5000 );
            document.getElementById('count').innerHTML = i;
         if (i >= 500)   {
            clearInterval(i);
            }      
          }
    
    }
    

    我想要完成的第二件事是再次在午夜(此后每晚),计数将重置为0并再次开始计算秒数。我将保留昨天的价值(第一天500,第二天增加500到总数将...所以如果它是500 - 每日最大值 - 它将在第二天总计1000,等等) 。我的结果将显示在浏览器上。

    希望我能更清楚地了解自己要做的事情。提前谢谢!

    我正在尝试制作一个计数器,从2017年1月1日开始每分钟开始递增1。它应该自动增加而不刷新浏览器并显示在div中。 我当前的代码没有输出任何东西。但我也怀疑它设置得恰到好处,每秒都要增加。有人可以帮忙吗?谢谢。 <div id="count"></div><br/>  虽然没有数字,但是空白。我在这个阶段做错了什么?感谢。

    var div = document.getElementById('count');
         function updateCount() {
             var d = new Date();
             // set d to midnight
             d.setHours(0,0,0,0);
             d.setMonth(0);
             d.setDate(1);
             d.setFullYear(2017);
      if (count < 0) {
            document.getElementById('count').innerHTML = "Check back January 1, 2017.";
        }
          if (count => 0) && (i < 500)  {
             var count = Math.floor( ( new Date().getTime() - d.getTime() ) / 1000 );
            var i = 0;     
             i++;
            document.getElementById('count').innerHTML = i;
            }
    }
        
     updateCount();
     setInterval(updateCount, 1000);
    <div id="count"></div><br/>

6 个答案:

答案 0 :(得分:0)

这是更新的代码。更改日期。

<body><div id="count"></div><br/>

 <script type='text/javascript'>

var div = document.getElementById('count');

function updateCount() {
var count=0;
    var d = new Date();
    var i = 0; 

    // set d to midnight

    d.setHours(0,0,0,0);

    d.setMonth(12);

    d.setDate(28);

    d.setFullYear(2016);





        count = Math.floor( ( new Date().getTime() - d.getTime() ) / 1000 );




        document.getElementById('count').innerHTML = count;



    if (count < 0) {



         document.getElementById('count').innerHTML = "Check back January 1, 2017.";

}

}



updateCount();

setInterval(updateCount, 1000);



</script>

</body>

答案 1 :(得分:0)

您的if (count => 0) && (i < 500)必须像if (count >= 0 && i < 500)

一样

变量counti必须在使用之前声明。

我没有正确理解你的逻辑。但是对显示输出进行了必要的代码修正,可能不是所需的输出。

&#13;
&#13;
var div = document.getElementById('count');
var count = 0;
var i = 0;


function updateCount() {

    var d = new Date();

    // set d to midnight

    d.setHours(0, 0, 0, 0);

    d.setMonth(0);

    d.setDate(1);

    d.setFullYear(2017);





    if (count <= 0) {



      document.getElementById('count').innerHTML = "Check back January 1, 2017.";

    }



    if (count >= 0 && i < 500) {

      count = Math.floor((new Date().getTime() - d.getTime()) / 1000);
      i++;
      document.getElementById('count').innerHTML = i;
      }
  }


    updateCount();

    setInterval(updateCount, 1000);
&#13;
<div id="count"></div>
<br/>
&#13;
&#13;
&#13;

答案 2 :(得分:0)

以下是整个代码: 带停止计时器

&#13;
&#13;
var div = document.getElementById('count');
var d = new Date(2017, 1, 1, 0, 0, 0); //new Date(2016, 11, 29, 0, 0, 0);
var count = 1;
var i = 0;

function updateCount() {
  count = Math.floor((new Date().getTime() - d.getTime()) / 1000);

  console.log(count);

  if (count < 0) {
    div.innerHTML = "Check back on January 1, 2017.";
  } else if (i < 500) {
    i++;
    div.innerHTML = i;
  } else {
    // Stop the timer
    clearTimeout(counter);
  }
}

var counter = setInterval(updateCount, 1000);
&#13;
Counter
<div id="count"></div>
<br/>
&#13;
&#13;
&#13;

答案 3 :(得分:0)

  

你可以试试这个

&#13;
&#13;
var div = document.getElementById('count');
var count = 0,i = 0;
var d = new Date();
// set d to midnight
d.setHours(0, 0, 0, 0);
d.setMonth(0);
d.setDate(1);
d.setFullYear(2017);

function updateCount() {
    if (count <= 0) {
      div.innerHTML = "Check back January 1, 2017.";
    }

    if (count >= 0 && i < 500) {
          count = Math.floor((new Date().getTime() - d.getTime()) / 1000);
          i++;
          div.innerHTML = i;
      }
  }

updateCount();
setInterval(updateCount, 1000);
&#13;
<div id="count"></div>
&#13;
&#13;
&#13;

答案 4 :(得分:0)

&#13;
&#13;
var d = new Date();

function updateCount(start) {
  
  if(start) {
    d.setHours(0, 0, 0, 0);
    d.setMonth(0);
    d.setDate(1);
    d.setFullYear(2017);
  } else {
    d.setTime(d.getTime() + 1000 * 60);
  }
  
  document.getElementById('count').innerHTML = [d.getMonth()+1,
               d.getDate(),
               d.getFullYear()].join('/')+' '+
              [d.getHours(),
               d.getMinutes()].join(':');
}

updateCount(true);

setInterval(updateCount, 60 * 1000);
&#13;
<div id="count"></div>
<br/>
&#13;
&#13;
&#13;

答案 5 :(得分:-1)

代码中有许多错误需要if ((count => 0) && (i < 500)) {,并且存在变量count的重新声明。此外,i的值始终为1,因为它在if条件下重置为0。您需要修复逻辑条件才能使其正常工作。