慕粉3274123
2016-07-14 10:41
<!DOCTYPE html> <html> <head> <title>浏览器对象</title> <meta http-equiv="Content-Type" content="text/html; charset=gkb"/> <style> a { text-decoration:none; } </style> </head> <body> <!--先编写好网页布局--> <h1>操作成功</h1> <p id="black"> <b id="time_num"></b>秒后回到主页<a href="javascript:GOBack()">返回</a> </p> <!--<button type="button" onclick="GO()">click</button>--> <script type="text/javascript"> //获取显示秒数的元素,通过定时器来更改秒数。 //通过window的location和history对象来控制网页的跳转。 function GO(){ var number=5; if (number==0){ window.location.assign("http://www.w3school.com.cn"); } document.getElementById("time_num").innerHTML = number; number=number - 1; setTimeout("GO()",1000); } setTimeout("GO()",1000) function GoBack(){ window.history.back(); } </script> </body> </html>
在窗口中运行该程序时,该窗口一定要有历史浏览记录,否则"返回"无效果。还有就是你的27行到29行要放到31行后,要先获取 time_num这个对象,先执行num--操作,再判断num==0时候的情况。
哦哦,这样是直接读取元标签内的内容,这么写,就不用写到外面吗?
除了已经采纳的那个回答,你的'var number = 5;'放在函数里边能运行出来?我没试,不过最好还是放在外边吧,要不然每次执行函数都会重新给number赋值5
//刚试了一下,var number= 5放在函数里边是运行不出来结果的吧
把var number=5放到go函数前面就好了,这种写法太复杂了,建议你不要用setTimeout,用setInterval更加简洁
JavaScript进阶篇
468061 学习 · 21891 问题
相似问题