计时器始终是初始值

来源:8-17 编程练习

泡泡糖糖

2016-12-16 21:14

<!DOCTYPE html>

<html>

 <head>

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

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

 </head>

 <body>

  <!--先编写好网页布局-->

  <strong>操作成功</strong><br/>

<input type="text" id="time" />秒后返回到主页

<input type="button" value="返回" onclick="returnPage()">

  

 

  <script type="text/javascript">  

 

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

   function countTime(){

       var num=5;

       document.getElementById('time').value=num;

       num--;

       setTimeout("countTime()",1000);

       if(num==0) 

       window.location.href="http://www.baidu.com";

       

   }

    setTimeout("countTime()",1000);

   //通过window的location和history对象来控制网页的跳转。

   function returnPage(){

       window.history.back();

   }

 </script> 

</body>

</html>


写回答 关注

1回答

  • 泡泡糖糖
    2016-12-16 21:31:22

    都是粗心惹的祸!num要作为全局变量的,我之前放在函数体里面,当然每次都是num=5,自减后变为4.此时,再执行setTimeout后,num又变为5了,啊哈哈哈,被自己笑死

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468190 学习 · 21891 问题

查看课程

相似问题