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

倒计时结束后,因网速慢未及时跳转,秒数继续自减(-1,-2....)

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>自动跳转</title>


</head>

<body>

<h2>操作成功!</h2>

<p><span id="second">5</span>秒后回到主页 &nbsp;&nbsp; <a href="javascript:back();">返回</a></p>

</body>

<script type="text/javascript">

var num = document.getElementById('second').innerHTML;//获取显示秒数的元素,通过定时器来更改秒数。

function count(){

num--;

document.getElementById('second').innerHTML = num;

if(num==0){

location.assign('http://zhoushuo.me');

}

setTimeout(count,1000);

}

setTimeout(count,1000);


function back(){

window.history.back();

}

</script>

</html>


提问者:石页粥 2017-03-23 13:43

个回答

  • 慕粉1805107203
    2017-03-23 17:00:04
    已采纳

    可以尝试用setInterval,少使用递归,同时在num==0跳转之前使用clearInterval.你这里可以在跳转前,使用clearTimeout,结束循环

  • qq_夜江鸣_03946275
    2017-03-28 16:06:33

    我觉得加个判断吧,小于零的时候让它等于零

  • qq_蓝皮鼠_0
    2017-03-23 15:27:13

    啊  这个好像没法回答呢。。。就是网络问题。。。过来混个积分  哈哈哈~~~