小猪想飞
2018-08-28 15:56
<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>
为什么计时器不起作用
<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>
试试我改的!
我觉得不可以在函数里面定义函数
你这个var num;定义的是局部变量,在函数里面定义的只会在页面加载onload时执行一次,也就是说你获得的num一直只是5,以后num--,只会改变一次
你的oSe变量也只获得过一次,所以得到的num也不会改变
location.assign(param),这个param参数应该是URL,整个URL,而不是去掉协议名的Host主机名.那样会导致服务器在本页面下面的页面寻找www.imooc.com
setInterval("count()",1000);改成 setInterval(count,1000);就可以了
JavaScript进阶篇
468061 学习 · 21891 问题
相似问题