Javascript Second Counter

不羁岁月 提交于 2019-12-04 07:33:50

You can use the setInterval function to run another function as often as you choose. For example:

var seconds = 0;
var el = document.getElementById('seconds-counter');

function incrementSeconds() {
    seconds += 1;
    el.innerText = "You have been here for " + seconds + " seconds.";
}

var cancel = setInterval(incrementSeconds, 1000);
<div id='seconds-counter'> </div>

If you run this snippet, you'll see the counter working.

The setInterval function takes two parameters:

  • the function you want to call
  • the number of milliseconds between calls

Since you want to call increment the counter every second, you want to use 1000 milliseconds (1 second).

For more details, see the MDN documentation for setInterval.

My answer is similar to the one above but I'll give it anyway. This will only work on a single page so hopefully your site already runs on AJAX.

window.setInterval((function(){
   var start = Date.now();
   var textNode = document.createTextNode('0');
   document.getElementById('seconds').appendChild(textNode);
   return function() {
        textNode.data = Math.floor((Date.now()-start)/1000);
        };
   }()), 1000);
You've been on this page for <span id=seconds></span> seconds.
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!