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

来源:8-17 编程练习

石页粥

2017-03-23 13:43

<!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>


写回答 关注

3回答

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

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

    石页粥

    非常感谢!

    2017-03-23 18:45:34

    共 1 条回复 >

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

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

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

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

JavaScript进阶篇

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

468195 学习 · 21891 问题

查看课程

相似问题