问答详情
源自:8-17 编程练习

请问我的代码为什么不能实现计时器功能?到底是哪里写错了?


<!DOCTYPE html>

<html>
<head>
   <title>浏览器对象</title>
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
</head>
<body>
<!--先编写好网页布局-->
<h4>操作成功</h4>

<span id="second">5</span>
<span>秒后将自动跳转至上一页</span><a href="javascript:goBack();">返回</a>


<script type="text/javascript">
   var num = document.getElementById("second").innerHTML;

   function clock(){
       num--;
       document.getElementById("second").innerHTML = num;
       if(num==0){
         location.assign("www.baidu.com");

       };
       setInterval("clock()",1000);

   }
   //获取显示秒数的元素,通过定时器来更改秒数。

   function goBack() {
       window.history.back();
   }//通过window的location和history对象来控制网页的跳转。

</script>
</body>
</html>


提问者:qq__9705 2016-08-01 00:29

个回答

  • 傻傻笑3657510
    2016-08-01 08:37:35
    已采纳

     setInterval("clock()",1000);  这一句的位置不对,应该放到function goBack()的上边,也就是你的clock函数的外边。你把这一句写到了你的clock函数里边,然而你是通过你的setInterval函数来延时执行你的clock函数,但是放到里边以后,setinterval函数没有被执行,因为没有clock没有被调用,所以你的setinterval函数也没有执行,因此不会实现倒计时,望采纳!!!

  • 慕工程3616510
    2016-08-01 08:19:10

    在</script>上一行加上clock();并把setInterval("clock()",1000);更改为setTimeout("clock()",1000);