Javascript 如何使setInterval函数工作?
对于我的学校项目,我试图显示一个实时刷新时/分/秒的时钟。我想与SetInterval一起工作,还是这是错误的想法? 有人能帮我吗Javascript 如何使setInterval函数工作?,javascript,jquery,time,setinterval,clock,Javascript,Jquery,Time,Setinterval,Clock,对于我的学校项目,我试图显示一个实时刷新时/分/秒的时钟。我想与SetInterval一起工作,还是这是错误的想法? 有人能帮我吗 <h1 id="dag">Uw Dag</h1> <h2 id='full'>a</h2> <h3 id='tijd'>tijd</h3> function addZero(i) { if (i < 10) { i
<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());
});
Uw-Dag
A.
蒂吉德
函数addZero(i){
如果(i<10){
i=“0”+i;
}
返回i;
}
函数headerDag(){
var d=新日期();
var工作日=[“宗达格”、“马恩达格”、“丁斯达格”、“沃恩斯达格”、“顿德尔达格”、“弗里达格”、“扎特达格”];
var weekday=工作日[d.getDay()];
返回工作日;
}
函数getActualFullDate(){
设置间隔(getActualFullDate,3000);
var月数=[“一月”、“二月”、“马尔特”、“四月”、“梅”、“朱尼”、“朱利”、“奥古斯都”、“九月”、“奥克托伯”、“十一月”、“十二月”];
var d=新日期();
var day=addZero(d.getDate());
var月=月[d.getMonth()];
var year=addZero(d.getFullYear());
var h=addZero(d.getHours());
var m=addZero(d.getMinutes());
var s=addZero(d.getSeconds());
返回日+“”+月+“”+年+“”+h+“:“+m+”:“+s;
}
$(文档).ready(函数(){
$(“#full”).html(getActualFullDate());
$(“#dag”).html(headerDag());
});
getActualFullDate()
不更新HTML,它只返回一个字符串。interval函数需要调用.html()
函数addZero(i){
如果(i<10){
i=“0”+i;
}
返回i;
}
函数headerDag(){
var d=新日期();
var工作日=[“宗达格”、“马恩达格”、“丁斯达格”、“沃恩斯达格”、“顿德尔达格”、“弗里达格”、“扎特达格”];
var weekday=工作日[d.getDay()];
返回工作日;
}
函数getActualFullDate(){
var月数=[“一月”、“二月”、“马尔特”、“四月”、“梅”、“朱尼”、“朱利”、“奥古斯都”、“九月”、“奥克托伯”、“十一月”、“十二月”];
var d=新日期();
var day=addZero(d.getDate());
var月=月[d.getMonth()];
var year=addZero(d.getFullYear());
var h=addZero(d.getHours());
var m=addZero(d.getMinutes());
var s=addZero(d.getSeconds());
返回日+“”+月+“”+年+“”+h+“:“+m+”:“+s;
}
$(文档).ready(函数(){
setInterval(函数(){
$(“#full”).html(getActualFullDate());
$(“#dag”).html(headerDag());
}, 3000);
});
给你!基本上,我认为您无意中添加了递归。请参阅我在下面运行代码段时所做的更改
函数addZero(i){
如果(i<10){
i=“0”+i;
}
返回i;
}
函数headerDag(){
var d=新日期();
var工作日=[“宗达格”、“马恩达格”、“丁斯达格”、“沃恩斯达格”、“顿德尔达格”、“弗里达格”、“扎特达格”];
var weekday=工作日[d.getDay()];
返回工作日;
}
函数getActualFullDate(){
var月数=[“一月”、“二月”、“马尔特”、“四月”、“梅”、“朱尼”、“朱利”、“奥古斯都”、“九月”、“奥克托伯”、“十一月”、“十二月”];
var d=新日期();
var day=addZero(d.getDate());
var月=月[d.getMonth()];
var year=addZero(d.getFullYear());
var h=addZero(d.getHours());
var m=addZero(d.getMinutes());
var s=addZero(d.getSeconds());
设满=日+月+年+年+小时+小时+月+年+小时;
$(“#全文”).html(全文);
}
$(文档).ready(函数(){
getActualFullDate();
setInterval(函数(){
getActualFullDate();
}, 3000);
$(“#dag”).html(headerDag());
});代码>
Uw-Dag
A.
蒂吉德
我们当然可以帮助您,但您需要描述实际问题是什么。由于JS代码中没有setInterval()
,因此标题令人困惑……也许这会正确吗?这就成功了!非常感谢!
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);
});