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

为什么计时器不起作用?

<script type="text/javascript">

window.onload=function(){

    var oSe=document.getElementById("second");

    var num=oSe.innerHTML;

    function count(){

    num--;

    oSe.innerHTML=num;

    if (num==0) {

   

    location.assign("www.imooc.com");


    }

   

}


 setInterval("count()",1000);

 

}


 

</script>

</head>

 


<body>

<h2>操作成功</h2>

<span id="second">5</span>

<span>秒后自动跳转</span>

</body>

</html>

 

为什么计时器不起作用

正在回答

2 回答

<h2>操作成功</h2>

<span id="second">5</span> <span>秒后自动跳转</span>

<script type="text/javascript">

var num;

window.onload = function()

{

setInterval("count()", 1000);

};

function count() {

var oSe = document.getElementById("second");

var num = oSe.innerHTML;

num--;

oSe.innerHTML = num;

if (num == 0) {

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

}

}

</script>

试试我改的!

  1. 我觉得不可以在函数里面定义函数

  2. 你这个var num;定义的是局部变量,在函数里面定义的只会在页面加载onload时执行一次,也就是说你获得的num一直只是5,以后num--,只会改变一次

  3. 你的oSe变量也只获得过一次,所以得到的num也不会改变

  4. location.assign(param),这个param参数应该是URL,整个URL,而不是去掉协议名的Host主机名.那样会导致服务器在本页面下面的页面寻找www.imooc.com

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

 setInterval("count()",1000);改成 setInterval(count,1000);就可以了

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

举报

0/150
提交
取消
JavaScript进阶篇
  • 参与学习       468189    人
  • 解答问题       21891    个

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

进入课程

为什么计时器不起作用?

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