如何使setInterval函数正常工作?

问题描述 投票:-2回答:1

对于我的学校项目,我试图显示一个实时刷新小时/分钟/秒的时钟。我想使用SetInterval还是错误的想法?谁能帮帮我?

        <h1 id="dag">Uw Dag</h1>
        <h2 id='full'>a</h2>
        <h3 id='tijd'>tijd</h3>


function addZero(i) {
    if (i < 10) {
        i = "0" + i;
    }
    return i;
}

function headerDag() {
    var d = new Date();
    var weekdays = ["Zondag", "Maandag", "Dinsdag", "Woensdag", "Donderdag", "Vrijdag", "Zaterdag"];
    var weekday = weekdays[d.getDay()];
    return weekday;
}

function getActualFullDate() {
    setInterval(getActualFullDate, 3000);
    var months = ["Januari", "Februari", "Maart", "April", "Mei", "Juni", "Juli", "Augustus", "September", "Oktober", "November", "December"];
    var d = new Date();
    var day = addZero(d.getDate());
    var month = months[d.getMonth()];
    var year = addZero(d.getFullYear());
    var h = addZero(d.getHours());
    var m = addZero(d.getMinutes());
    var s = addZero(d.getSeconds());
    return day + "  " + month + "  " + year + " " + h + ":" + m + ":" + s;

}


$(document).ready(function() {

    $("#full").html(getActualFullDate());
    $("#dag").html(headerDag());


});
javascript jquery time setinterval clock
1个回答
0
投票

getActualFullDate()不会更新HTML,它只会返回一个字符串。间隔函数需要调用.html()

function addZero(i) {
    if (i < 10) {
        i = "0" + i;
    }
    return i;
}

function headerDag() {
    var d = new Date();
    var weekdays = ["Zondag", "Maandag", "Dinsdag", "Woensdag", "Donderdag", "Vrijdag", "Zaterdag"];
    var weekday = weekdays[d.getDay()];
    return weekday;
}

function getActualFullDate() {
    var months = ["Januari", "Februari", "Maart", "April", "Mei", "Juni", "Juli", "Augustus", "September", "Oktober", "November", "December"];
    var d = new Date();
    var day = addZero(d.getDate());
    var month = months[d.getMonth()];
    var year = addZero(d.getFullYear());
    var h = addZero(d.getHours());
    var m = addZero(d.getMinutes());
    var s = addZero(d.getSeconds());
    return day + "  " + month + "  " + year + " " + h + ":" + m + ":" + s;

}

$(document).ready(function() {
    setInterval(function () {
        $("#full").html(getActualFullDate());
        $("#dag").html(headerDag());
    }, 3000);
});
© www.soinside.com 2019 - 2024. All rights reserved.