請(qǐng)問老師可以直接調(diào)用一個(gè)調(diào)用其自身的函數(shù)嗎?
<!DOCTYPE?html> <html> ?<head> ??<meta?http-equiv="Content-Type"?content="text/html;?charset=utf-8"/>??? ??<title>瀏覽器對(duì)象</title>?? ?</head> ?<body> ?<script?type="text/javascript">?? ????ctime(); ????var?num=5; ????function?ctime() ????{ ????????document.getElementById("b").innerHTML=num; ????????num=num-1; ????????setTimeout("ctime()",1000); ????????if(num==0) ????????{ ???? ????window.location.href="http://yifanck.cn" ????????} ????} ?</script>? ????<span?id="b">5</span>秒后回到主頁?<a?href=javascript:window.history.back()>返回</a>?? </body> </html>
打開界面后,時(shí)間不會(huì)變,也不會(huì)有任何動(dòng)作,但是使用一個(gè)按鍵來調(diào)用函數(shù)時(shí),時(shí)間就會(huì)改變
2016-08-06
啊,我那時(shí)好像看漏了沒仔細(xì)看,不好意思。你錯(cuò)的地方應(yīng)該是函數(shù)ctine里document.getElementById("b").innerHTML=num;這句,因?yàn)槿绻阍趕cript里使用ctime();調(diào)用的話因?yàn)樗旅娴膕pan還沒加載,所以得不到對(duì)象,出現(xiàn)錯(cuò)誤。兩種解決方法:
第一加上window.onload = function(){}調(diào)用
? ? var num=5;
? ? function ctime()
? ? {
? ? ? ? document.getElementById("b").innerHTML=num;
? ? ? ? num=num-1;
? ? ? ? if(num==0)
? ? ? ? {
? ? ? ? ? ? window.location.href="http://yifanck.cn"
? ? ? ? }
? ? ? ? setTimeout("ctime()",1000);?
? ? }
? ? window.onload= function(){
? ? ? ? ctime();
? ? }
第二把span放前面
?<span id="b">5</span>秒后回到主頁 <a href=javascript:window.history.back()>返回</a> ?
?<script type="text/javascript"> ?
? ? var num=5;
? ? function ctime()
? ? {
? ? ? ? document.getElementById("b").innerHTML=num;
? ? ? ? num=num-1;
? ? ? ? if(num==0)
? ? ? ? {
? ? ? ? ? ? window.location.href="http://yifanck.cn"
? ? ? ? }
? ? ? ? setTimeout("ctime()",1000);?
? ? }
? ? ? ? ctime();
?</script>?
2016-08-05
你沒調(diào)用函數(shù),函數(shù)不執(zhí)行,當(dāng)然什么都不會(huì)發(fā)生。你現(xiàn)在只是做了聲明而已,ctime();才是調(diào)用,在這里可以用setInterval()來調(diào)用