为了账号安全,请及时绑定邮箱和手机立即绑定

setTimeout不是触发一次吗。为什么这个代码会计时呢

<!DOCTYPE html>

<html>

<head>

<title>浏览器对象</title>  

<meta http-equiv="Content-Type" content="text/html; charset=gkb"/>   

</head>


<body>

<h4>操作成功</h4>

<span id='second'></span> 秒后回到主页 <a href="javascript:backup();">返回</a>

<script type="text/javascript">  

    var num=5

    function startCount() {

        if(num==0)

        {location.assign("http://www.baidu.com");}

        document.getElementById("second").innerHTML=num;

        num--;

    setTimeout("startCount()",1000); 

    }

    function backup() {

        window.history.back();

    }

    startCount()

</script> 

</body>

</html>


答案里看到这个代码。没弄懂为什么它会自动倒计时。它不是用的setTimeout只能触发一次吗。按理说应该是从5减到4就不动了吧,还有最后为什么要单独写一个    startCount()   意义何在

正在回答

1 回答

第一个问题我懂了。。因为  setTimeout("startCount()",1000); 写在function startCount里面所以循环了。可是为什么最后一行单独写一个 startCount()   啊

0 回复 有任何疑惑可以回复我~
#1

mxdneu

你需要在页面加载时运行这个函数,所以添加了startCount(),去掉不调用这个函数怎么实现功能?
2016-01-26 回复 有任何疑惑可以回复我~
#2

zeusGOGOGO

运行这个函数啊,递归函数
2016-01-27 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

setTimeout不是触发一次吗。为什么这个代码会计时呢

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信