Javascript setinterval 的时间不工作
Javascript setinterval's time not working
以下代码在:
<script type="text/javascript">
function a() {
document.write("bob ");
}
setInterval("a()", 1000);
</script>
应该在浏览器上输出 1 bob
, printed
, every second
.
我用的是firefox,它只打印一次,什么也没有....
任何人有任何想法为什么?也许我错过了什么?
ec = now.getSeconds();
document.write(小时+':'+分钟+':'+秒+"
");
}
UPDATE EDIT:
我对这段代码有同样的问题:
<script type="text/javascript">
function printtime () {
var now = new Date();
var hours = now.getHours();
var mins = now.getMinutes();
var sec = now.getSeconds();
document.write(hours+':'+mins+':'+sec+"<br />");
}
setInterval("printtime()", 1000);
</script>
它应该在前一个下在浏览器上打印时间,每秒一次....但它不会比第一个打印得更远..
function a() {
console.log("bob ");
}
setInterval(a, 1000);
*{ background-color: yellow; }
在主要 HTML 解析完成后使用 document.write
会完全清除页面并将其替换为您输出的内容。在 Firefox 上,这会清除您的计时器,因此它会在仅触发一次并清除页面后停止。 (Chrome 不是这样,它保留了 a
函数,因此 your original code 适用于 Chrome,但不适用于 Firefox。)
如果您只是将新元素输出到页面,那么您所拥有的有效:
function a() {
var p = document.createElement("p");
p.appendChild(
document.createTextNode("bob")
);
document.body.appendChild(p);
}
setInterval("a()", 1000);
但是,最好不要使用带setInterval
或setTimeout
的字符串;只需参考函数即可:
setInterval(a, 1000);
function a() {
var p = document.createElement("p");
p.appendChild(
document.createTextNode("bob")
);
document.body.appendChild(p);
}
setInterval(a, 1000);
或者,如果您只想将文本重复添加到现有元素的末尾:
function a() {
var p = document.getElementById("target");
p.appendChild(
document.createTextNode("bob ")
);
}
setInterval(a, 1000);
<p id="target"></p>
给你;不要在 setInterval();
.
中的函数后添加引号或括号
<script type="text/javascript">
function a() {
document.write("bob ");
}
setInterval(a, 1000);
</script>
另外值得注意的是 document.write();
将删除加载的网页,包括您的网页。
以下代码在:
<script type="text/javascript">
function a() {
document.write("bob ");
}
setInterval("a()", 1000);
</script>
应该在浏览器上输出 1 bob
, printed
, every second
.
我用的是firefox,它只打印一次,什么也没有....
任何人有任何想法为什么?也许我错过了什么?
ec = now.getSeconds();
document.write(小时+':'+分钟+':'+秒+"
");
}
UPDATE EDIT:
我对这段代码有同样的问题:
<script type="text/javascript">
function printtime () {
var now = new Date();
var hours = now.getHours();
var mins = now.getMinutes();
var sec = now.getSeconds();
document.write(hours+':'+mins+':'+sec+"<br />");
}
setInterval("printtime()", 1000);
</script>
它应该在前一个下在浏览器上打印时间,每秒一次....但它不会比第一个打印得更远..
function a() {
console.log("bob ");
}
setInterval(a, 1000);
*{ background-color: yellow; }
在主要 HTML 解析完成后使用 document.write
会完全清除页面并将其替换为您输出的内容。在 Firefox 上,这会清除您的计时器,因此它会在仅触发一次并清除页面后停止。 (Chrome 不是这样,它保留了 a
函数,因此 your original code 适用于 Chrome,但不适用于 Firefox。)
如果您只是将新元素输出到页面,那么您所拥有的有效:
function a() {
var p = document.createElement("p");
p.appendChild(
document.createTextNode("bob")
);
document.body.appendChild(p);
}
setInterval("a()", 1000);
但是,最好不要使用带setInterval
或setTimeout
的字符串;只需参考函数即可:
setInterval(a, 1000);
function a() {
var p = document.createElement("p");
p.appendChild(
document.createTextNode("bob")
);
document.body.appendChild(p);
}
setInterval(a, 1000);
或者,如果您只想将文本重复添加到现有元素的末尾:
function a() {
var p = document.getElementById("target");
p.appendChild(
document.createTextNode("bob ")
);
}
setInterval(a, 1000);
<p id="target"></p>
给你;不要在 setInterval();
.
<script type="text/javascript">
function a() {
document.write("bob ");
}
setInterval(a, 1000);
</script>
另外值得注意的是 document.write();
将删除加载的网页,包括您的网页。