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

5秒后跳转页面。但是秒数不变化,不知道哪里有问题?

5秒后跳转页面。但是秒数不变化,不知道哪里有问题?

mk_落叶_363253147 2016-06-03 16:21:21
<body>  <h2>操作成功</h2>  <p><span id="s">5</span>秒后回到主页<a href="javascript:back()">返回</a></p><!--先编写好网页布局-->  <script type="text/javascript">  var scd=document.getElementById("s").innerHTML; var scd=5;function sd() {scd--;  setInterval(sd,1000);    if (scd==0)     {i=setInterval(sd,1000);         clearInterval(i);      location.replace("http://www.imooc.com/");      } }   //获取显示秒数的元素,通过定时器来更改秒数。 function back() {window.history.go(-1);}   //通过window的location和history对象来控制网页的跳转。    </script> </body>
查看完整描述

4 回答

已采纳
?
指创生活

TA贡献23条经验 获得超66个赞

你好,看了你的代码小白我做了下面的修改;

<html>
<head>
<meta charset="utf-8">
</head>
<body>
  <h2>操作成功</h2>
  <p><span id="s">5</span>秒后回到主页<a href="javascript:back()">返回</a></p><!--先编写好网页布局-->

  <script>  
  var scd=document.getElementById("s").innerHTML; 
   function sd() {
   var o=document.getElementById("s");
    i= setInterval("sd()",1000);
   o.innerHTML=scd
     if (scd==1){
         clearInterval(i);
      location.replace("http://www.imooc.com/");
      }
   scd--;

   }
   //获取显示秒数的元素,通过定时器来更改秒数。
 function back(){
  window.history.go(-1);
}
sd();
   //通过window的location和history对象来控制网页的跳转。
   
 </script> 
</body>
</html>

针对你写的代码 不运行的原因 小白认为有五点:

  1. 你的函数 function sd() 根本都没运行吗... 对吧.   你应该在末尾加上一个sd();

  2. var scd=document.getElementById("s").innerHTML; 

var scd=5;

你都通过变量scd 获取了id为s 的值 为什么还要   写这句var scd = 5 呢  

3. setInterval(sd,1000);  的用法错了.   我记得是   setInterval("sd()",1000);   记住有双引号 和 大括号 "sd()";

4.你应该是想做个倒数吧, scd--

  这样可不行哦; 还得输出出来给用户看见的

所以增加一个document.getElementById("s").innerHTML = scd ; 

5.你给的变量名 感觉是乱起的 .. 最好就是规范同一 用英文名缩写;还有分行什么的 自己看的舒服 别人也看的舒服 . 

就这样吧 加油~

查看完整回答
1 反对 回复 2016-06-03
  • mk_落叶_363253147
    mk_落叶_363253147
    你的第3条,可以用你说的方法,我这样写也是对的。其他的对我有帮助,谢谢。
?
qq_慕UI9367020

TA贡献1条经验 获得超0个赞

不会就多思考,简单的问题还随便就问人反而不是最好的办法

查看完整回答
反对 回复 2016-06-04
?
LHammer

TA贡献9条经验 获得超3个赞

建议你把要调用的函数放在定时器外部

 var i = setInterval(sd,1000);

function sd(){

        scd--;

        document.getElementById("s").innerHTML = scd;

        if (scd==0)

         {

              clearInterval(i);

              location.replace("http://www.imooc.com/");

         }

 }


查看完整回答
反对 回复 2016-06-03
  • 4 回答
  • 0 关注
  • 1443 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信