4 回答

TA貢獻(xiàn)23條經(jīng)驗(yàn) 獲得超66個(gè)贊
你好,看了你的代碼小白我做了下面的修改;
<html> <head> <meta?charset="utf-8"> </head> <body> ??<h2>操作成功</h2> ??<p><span?id="s">5</span>秒后回到主頁<a?href="javascript:back()">返回</a></p><!--先編寫好網(wǎng)頁布局--> ??<script>?? ??var?scd=document.getElementById("s").innerHTML;? ???function?sd()?{ ???var?o=document.getElementById("s"); ????i=?setInterval("sd()",1000); ???o.innerHTML=scd ?????if?(scd==1){ ?????????clearInterval(i); ??????location.replace("http://yifanck.cn/"); ??????} ???scd--; ???} ???//獲取顯示秒數(shù)的元素,通過定時(shí)器來更改秒數(shù)。 ?function?back(){ ??window.history.go(-1); } sd(); ???//通過window的location和history對(duì)象來控制網(wǎng)頁的跳轉(zhuǎn)。 ??? ?</script>? </body> </html>
針對(duì)你寫的代碼 不運(yùn)行的原因 小白認(rèn)為有五點(diǎn):
你的函數(shù) function sd() 根本都沒運(yùn)行嗎... 對(duì)吧. ? 你應(yīng)該在末尾加上一個(gè)sd();
var scd=document.getElementById("s").innerHTML;?
var scd=5;
你都通過變量scd 獲取了id為s 的值 為什么還要 ? 寫這句var scd = 5 呢 ?
3.?setInterval(sd,1000); ?的用法錯(cuò)了. ? 我記得是 ??setInterval("sd()",1000); ? 記住有雙引號(hào) 和 大括號(hào) "sd()";
4.你應(yīng)該是想做個(gè)倒數(shù)吧, scd--
? 這樣可不行哦; 還得輸出出來給用戶看見的
所以增加一個(gè)document.getElementById("s").innerHTML = scd ;?
5.你給的變量名 感覺是亂起的 .. 最好就是規(guī)范同一 用英文名縮寫;還有分行什么的 自己看的舒服 別人也看的舒服 .?
就這樣吧 加油~

TA貢獻(xiàn)9條經(jīng)驗(yàn) 獲得超3個(gè)贊
建議你把要調(diào)用的函數(shù)放在定時(shí)器外部
?var i = setInterval(sd,1000);
function sd(){
????????scd--;
????????document.getElementById("s").innerHTML = scd;
? ? ????if (scd==0)
????? ? ?{
????? ? ? ? ? clearInterval(i);
????? ? ??????location.replace("http://yifanck.cn/");
?????????}
?}
添加回答
舉報(bào)