js延时函数setTimeout值执行一次。为什么?
代码是:-------------------<scriptlanguage=javascript>temp()functiontemp(){document.write...
代码是:
-------------------
<script language=javascript>
temp()
function temp()
{
document.writeln("<hr>");
setTimeout("temp()",2000);
}
</script>
-----------------------
我要的效果是一直执行下去,每2秒输出一条线,可这个代码只输出1行就不执行下去了?为什么啊,你们可以把代码另存为HTML执行看一下,找高手帮我解答呀!!!才几行的代码,大家帮忙想想辙,在线急等!
------------------请你们把你们改的代码自己执行一下,没有错误再贴出来,别自己还没执行就....... 展开
-------------------
<script language=javascript>
temp()
function temp()
{
document.writeln("<hr>");
setTimeout("temp()",2000);
}
</script>
-----------------------
我要的效果是一直执行下去,每2秒输出一条线,可这个代码只输出1行就不执行下去了?为什么啊,你们可以把代码另存为HTML执行看一下,找高手帮我解答呀!!!才几行的代码,大家帮忙想想辙,在线急等!
------------------请你们把你们改的代码自己执行一下,没有错误再贴出来,别自己还没执行就....... 展开
3个回答
展开全部
先说下document.write的作用.document.write()的作用是把整个html文本的清空,再输出内容.所以,每隔两秒,html文本就被清空一次,再输出一个平行线.
基本同意楼上举人的代码.不过,还有另一种写法.如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<body>
<script language=javascript>
temp()
function temp()
{
var hr=document.createElement("hr");
document.getElementsByTagName("body")[0].appendChild(hr);
setTimeout("temp()",2000);
}
</script>
</body>
</html>
基本同意楼上举人的代码.不过,还有另一种写法.如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<body>
<script language=javascript>
temp()
function temp()
{
var hr=document.createElement("hr");
document.getElementsByTagName("body")[0].appendChild(hr);
setTimeout("temp()",2000);
}
</script>
</body>
</html>
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
setTimeout本身是没有问题的,只是document.writeln看不出来效果.每两秒钟函数执行一次,但并没有实现累加,所以看不到效果.你用我下面的这个试试就可以了.
<div id="hr"></div>
<script language=javascript>
function temp()
{
var hr=document.getElementById("hr")
hr.innerHTML+="<hr />";
setTimeout("temp()", 1000);
}
temp()
</script>
<div id="hr"></div>
<script language=javascript>
function temp()
{
var hr=document.getElementById("hr")
hr.innerHTML+="<hr />";
setTimeout("temp()", 1000);
}
temp()
</script>
参考资料: http://www.zmr8.com
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<script language=javascript>
function temp()
{
document.writeln("<hr>");
}
setTimeout("temp()",2000);
</script>
function temp()
{
document.writeln("<hr>");
}
setTimeout("temp()",2000);
</script>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询