js实现从0开始计时及显示当前时间

需求:

页面点击进来,就从0开始计时,动态显示用户停留在该页面的时间。

思路:

记录用户进入该页面的时间(初始时间);

不断用当前时间-初始时间=在该页面的停留时间;

需要注意的是,应该将js函数Time()放到<body>的onload中,即页面一加载就执行

js函数应该放在<head>标签中

js:

<script type="text/javascript">
   /*
    * 显示当前时间函数
    * YQ
    */
    function Time()
    {
    var today=new Date(); 
    var h=today.getHours();
    var m=today.getMinutes();
    var s=today.getSeconds();
    duration(h,m,s);
    // add a zero in front of numbers<10
    m=checkTime(m);
    s=checkTime(s);
    document.getElementById('timeshow').value=h+":"+m+":"+s;
    t=setTimeout('Time()',500); //暂停0.5后执行Time()函数
    }
    /*
     * 个位数时补0
     */
    function checkTime(i) 
    {
    if (i<10) 
      {i="0" + i}
      return i
    }
    /*
     * 历时:当前时间-开始时间
     * @author YQ
     */
    function duration(nh,nm,ns){
        var beginTime = document.getElementById('beginTime').value; //获取计时初始值
        var beginT = new Array();
        beginT = beginTime.split(" ");
        beginT = beginT[1].split(":");
        var sh = Number(beginT[0]);
        var sm = Number(beginT[1]);
        var ss = Number(beginT[2]);
        //换算历时 h:m:s
        var allS = (nh*3600+nm*60+ns)-(sh*3600+ sm*60 +ss);
        var dh = parseInt(allS/3600);
        var dm = parseInt((allS-dh*3600)/60);
        var ds = allS - dh*3600 - dm*60;
        document.getElementById('duration').value = dh+':'+dm+':'+ds;
    }
    
</script>

html:

<body οnlοad="Time()"> 

<b>历时:</b><input type="text" id="duration" style="border:0px;background-color:transparent;width:80px;" />
<b>当前时间:</b><input type="text" id="timeshow" style="border:0px;background-color:transparent;width:80px;" />
</body>


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值