如何使用时钟重复javascript函数
我刚刚开始学习javascirpt,我正在尝试制作自己的时钟小部件。当我使用ourDate.toLocalString时,它似乎只显示调用函数时的时间。所以我想我必须每秒钟不断地重复这个函数,这样它才能持续保持当前时间。但我的问题是,当我启动脚本时,它只会重复函数一次。我做错了什么?代码如下:如何使用时钟重复javascript函数,javascript,date,time,repeat,Javascript,Date,Time,Repeat,我刚刚开始学习javascirpt,我正在尝试制作自己的时钟小部件。当我使用ourDate.toLocalString时,它似乎只显示调用函数时的时间。所以我想我必须每秒钟不断地重复这个函数,这样它才能持续保持当前时间。但我的问题是,当我启动脚本时,它只会重复函数一次。我做错了什么?代码如下: function updateclock(){ ourDate = new Date(); document.write(ourDate.toLocaleString()); } function st
function updateclock(){
ourDate = new Date();
document.write(ourDate.toLocaleString());
}
function startclock() {
updateclock();
setInterval("updateclock()", 1000);
}
您要改为执行此操作:
setInterval(updateclock, 1000);
您要改为执行此操作:
setInterval(updateclock, 1000);
问题是document.write。如果在加载文档后调用该函数,它将覆盖整个文档,包括无法再调用的startclock函数
改为更新HTML元素的内容:
<div id="clock"></div>
<script type="text/javascript">
function updateclock(){
ourDate = new Date();
document.getElementById("clock").innerHTML = ourDate.toLocaleString();
}
function startclock() {
updateclock();
setInterval(updateclock, 1000);
}
startclock();
</script>
另外:不要将字符串传递给setInterval或setTimeout,而是传递函数名。问题是document.write。如果在加载文档后调用该函数,它将覆盖整个文档,包括无法再调用的startclock函数
改为更新HTML元素的内容:
<div id="clock"></div>
<script type="text/javascript">
function updateclock(){
ourDate = new Date();
document.getElementById("clock").innerHTML = ourDate.toLocaleString();
}
function startclock() {
updateclock();
setInterval(updateclock, 1000);
}
startclock();
</script>
另外:不要将字符串传递给setInterval或setTimeout,而是传递函数名。这应该有效。但是:不要将字符串用作setInterval和该族的第一个参数,请使用函数值本身:setInterValueUpdateClock,1000。哦,不要使用document.write-如果您正在调试,请使用console.log,或者使用document.createElement或jQuery进行实际工作。这应该可以工作。但是:不要将字符串用作setInterval和该族的第一个参数,请使用函数值本身:setInterValueUpdateClock,1000。哦,不要使用document.write-如果您正在调试,请使用console.log,或者使用document.createElement或jQuery进行实际工作。相同的内容但没有evalsame内容但没有evalAwesome bfavareto!就这样。非常感谢你。也谢谢你的建议。尽管我不完全理解它,但我将研究这个编码,看看它是如何工作的。现在,继续用css设计它的样式,使它看起来像我想要的一样。@TonyWilkerson关于setInterval的建议,.Awesome bfavaretto!就这样。非常感谢你。也谢谢你的建议。尽管我不完全理解它,但我将研究这个编码,看看它是如何工作的。现在,使用css对其进行样式化,使其符合我的要求。@TonyWilkerson关于setInterval建议。