每过两秒函数被立即执行两次

来源:8-17 编程练习

玄众妙

2019-05-27 16:10

<!DOCTYPE html>

<html>

 <head>

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

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

 </head>

 <body>

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

  <h1>操作成功</h1>

  <spen id="sj"></spen>秒后回到主页<a href="www.imooc.com">返回</a>

  

 

  <script type="text/javascript">  

  var i=5;

 function js(){

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

   i--;

    document.getElementById("sj").innerHTML=i;

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

    if(i==0){

        location.replace(window.history.back());

    }

    

 }

   setInterval(js,2000);

 </script> 


每过两秒函数被立即执行两次,就是过两秒i从5变成4,然后立即变成3,再过两秒从3变成2,在立即变成1,。这是怎么回事?

</body>

</html>


写回答 关注

1回答

  • 慕圣9339377
    2019-05-27 16:38:50

    这个问题很明显啊,一开始设置的是2000毫秒,然后i=5;然后i--,然后i==0了就结束了

    玄众妙

    每过两秒函数被立即执行两次,就是过两秒i从5变成4,然后立即变成3,再过两秒从3变成2,再立即变成1,。这是怎么回事?是setInterval的问题,不是函数问题。

    2019-05-27 16:56:09

    共 1 条回复 >

JavaScript进阶篇

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

468191 学习 · 21891 问题

查看课程

相似问题