為什么計時器不起作用?
<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.xianlaiwan.cn");
? ? }
? ?
}
?setInterval("count()",1000);
?
}
?
</script>
</head>
?
<body>
<h2>操作成功</h2>
<span id="second">5</span>
<span>秒后自動跳轉</span>
</body>
</html>
?
為什么計時器不起作用
2018-09-13
<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.xianlaiwan.cn");
}
}
</script>
試試我改的!
我覺得不可以在函數里面定義函數
你這個var num;定義的是局部變量,在函數里面定義的只會在頁面加載onload時執行一次,也就是說你獲得的num一直只是5,以后num--,只會改變一次
你的oSe變量也只獲得過一次,所以得到的num也不會改變
location.assign(param),這個param參數應該是URL,整個URL,而不是去掉協議名的Host主機名.那樣會導致服務器在本頁面下面的頁面尋找www.xianlaiwan.cn
2018-09-04
?setInterval("count()",1000);改成?setInterval(count,1000);就可以了