Javascript setInterval无法继续运行 调用ctdwndecall()时,它显示8,但仅显示一次,而且应该是每秒显示一次,此脚本位于页面的开头
您正在调用Javascript setInterval无法继续运行 调用ctdwndecall()时,它显示8,但仅显示一次,而且应该是每秒显示一次,此脚本位于页面的开头,javascript,Javascript,您正在调用ctdwnDec函数,而不是设置间隔。您需要删除(): 我可能会这样写() 现在使用变得容易了 HTML 在这里,我们设置了几个计时器,并使用类timer(您可以选择任何您想要的) 您不能在一段时间内使用document.write。在加载事件后调用document.write意味着清除整个文档,这可能是OP意外的。@RobG什么意思它会清除整个文档?@matthewpavkov它会删除文档中的所有内容、整个头部和正文、脚本,以及所有内容。 var ctdwnDecInt;
ctdwnDec
函数,而不是设置间隔。您需要删除()
:
我可能会这样写() 现在使用变得容易了 HTML 在这里,我们设置了几个计时器,并使用类
timer
(您可以选择任何您想要的)
您不能在一段时间内使用
document.write
。在加载事件后调用document.write意味着清除整个文档,这可能是OP意外的。@RobG什么意思它会清除整个文档?@matthewpavkov它会删除文档中的所有内容、整个头部和正文、脚本,以及所有内容。
var ctdwnDecInt;
function ctdwnDecCall()
{
ctdwnDecInt=setInterval(ctdwnDec(),1000);
}
function ctdwnDec()
{
document.write("8");
}
var ctdwnDecInt;
function ctdwnDecCall() {
ctdwnDecInt=setInterval(ctdwnDec ,1000);
// no parens in there ^
}
function ctdwnDec() {
document.write("8");
}
var Timer = function Timer(elem, seconds) {
elem = elem;
seconds = seconds || 10;
var interval = null;
function render() {
elem.innerHTML = seconds;
}
function start() {
if (!interval) {
interval = setInterval(update, 1000);
}
}
function update() {
seconds = seconds - 1;
render();
if (seconds === 0) {
stop();
}
}
function stop() {
clearInterval(interval);
}
this.start = start;
this.stop = stop;
}
<span class="timer"></span>
<span class="timer"></span>
<span class="timer"></span>
var timers = document.getElementsByClassName("timer");
for (var i=0, len=timers.length; i<len; i++) {
var t = new Timer(timers[i], 8);
t.start();
}