在javascript中使用font标记容易死机

来源:百度知道 编辑:UC知道 时间:2024/05/04 22:42:52
大家好,帮我看一下这段代码
我想在网页上直接输出活动的时间,我在网上查到了这样一个代码,它可以显示活动的时间,但是运行不久后,浏览器就会很慢,甚至死机,innerTEXT我也使过了,也是一样,我觉得问题可能就是出现在FONT标签,1,请解释一下FONT标签中的ID属性的用途,为什么用了它后容易死机
2,如何改善这段代码;传上来的代码记得注释一下。谢谢,
注《我不要在INPUT文本域中显示。》
<html>
<head>
<script language="javascript">
function date(){
var aa=new Date()
a.innerHTML=aa.toLocaleString()
setInterval("date()",1000)
}
</script>
</head>

<body onload="date()">现在的时间是:
<font id="a"></font>
</body>
</html>

造成死机的原因不是<font> 而是你的函数setInterval("date()",1000)
这样每隔一秒就要递归调用一次 而每次调用又设置一次date函数的超时时间为1秒 这样不停的递归导致date函数太多最中栈溢出

做一下的修改问题就会解决
SPAN是内嵌元素。 设置了id setInterval就会根据id找到网页中的元素

<html>
<head>
<script language="javascript">
setInterval("a.innerHTML=new Date().toLocaleString();",1000);
</script>
</head>

<body">现在的时间是:
<span id="a"></span>
</body>
</html>

如果你不想做出这样大的修改 有一种更简单的方法就是把
setInterval("date()",1000) 这句话拿到date()函数外面
也就是这样:
<script language="javascript">
setInterval("date()",1000)
function date(){
var aa=new Date()
a.innerHTML=aa.toLocaleString()
}
</script> 这样就不会造成你上面递归调用的问题