SetTimeOut为什么会越来越快?

along203 2003-10-20 06:56:26
function chcolor()
{
step++
if (step==3) {step=1}
if (step==1) {spanname.style.color = "red"}
if (step==2) {spanname.style.color = "black"}
setTimeout("chcolor()",1000);
}
点击按钮调用函数,触发文字闪烁的效果.
第一次点击,每秒闪烁一次,可是在次电击闪烁速度越来越快.
为什么?如何解决?谢谢
...全文
358 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
imafool 2003-10-20
  • 打赏
  • 举报
回复
多个效果累加的结果。你可以使用setInterVal。
nolonely 2003-10-20
  • 打赏
  • 举报
回复
<span onclick="chcolor()" id=spanname>test</span>
<script language="JavaScript">
<!--
var timer
var step=0
function chcolor()
{
clearTimeout(timer)
step++
if (step==3) {step=1}
if (step==1) {spanname.style.color = "red"}
if (step==2) {spanname.style.color = "black"}
timer=setTimeout("chcolor()",1000);
}
//-->
</script>

87,901

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧