setInterval() 计时器不工作 [英] setInterval() timer not working

查看:59
本文介绍了setInterval() 计时器不工作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这个简单的函数是为了显示时间并使用 setInterval() 每秒更新一次,时间显示但不更新,我也尝试从主体的 onload 调用中调用该函数,它是一样.

This simple function is meant to display time and update every second using setInterval(), the time is displaying but not updating, I have also tried calling the function from the body's onload call and it is the same.

<script language="JavaScript" type="text/javascript">
var currentTime = new Date();
function currentTimeStrings()
    {

        var hours = currentTime.getHours();
        var hoursToString = hours;
        if (hoursToString>12)
        {
            hoursToString = hoursToString-1;
        }
        switch (hoursToString)
        {
        case 13:
            hoursToString = 2;
            break;
        case 14:
            hoursToString = 3;
            break;
        case 15:
            hoursToString = 4;
            break;
        case 16:
            hoursToString = 5;
            break;
        case 17:
            hoursToString = 6;
            break;
        case 18:
            hoursToString = 7;
            break;
        case 19:
            hoursToString = 8;
            break;
        case 20:
            hoursToString = 9;
            break;
        case 21:
            hoursToString = 10;
            break;
        case 22:
            hoursToString = 11;
            break;
        case 23:
            hoursToString = 12;
            break;
        default:
            hoursToString = hoursToString;
            break;

        }
        var minutes = currentTime.getMinutes();
        var seconds = currentTime.getSeconds();
        document.getElementById("timeDisp").innerHTML=hoursToString + ':' + minutes + ':' + seconds;
    }
    setInterval(currentTimeStrings,1000);
</script>

推荐答案

您的 currentTime 仅针对当前时间创建一次,并且从未更新.

Your currentTime is created only once for the current time and never updated.

尝试将您的 var currentTime = new Date(); 移动到函数内部:

Try moving your var currentTime = new Date(); into inside the function:

function currentTimeStrings(){
   var currentTime = new Date();
   //your code
}

这篇关于setInterval() 计时器不工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆