<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>浏览器对象</title>
</head onload="timecount()">
<body>
<h2>操作成功</h2>
<input type="button" value="返回" onclick="b_ack()" />
<script type="text/javascript">
var s_econd=5;
function timecount(){
if(s_econd==0){
window.location.assign("http://www.imooc.com/");
}
document.write(s_econd+"秒之后返回");
s_econd--;
setTimeout(timecount,1000);
}
function b_ack(){
window.history.back();
}
</script>
</body>
</html>
这里的document.write()为什么不起作用?使用document.write()输出内容有什么规则或者限制吗?
setTimeout(timecount,1000); 改成 setTimeout("timecount()",1000)
你还要在函数外放一个setTimeout("timecount()",1000)
不知道为啥那个onload="timecount()"没有起作用
<html>
<head>
<title>浏览器对象</title>
<meta http-equiv="Content-Type" content="text/html; charset=gkb"/>
</head>
<body>
<!--先编写好网页布局-->
<p><strong>操作成功</strong></p>
<p><span id="time"></span>秒后回到主页<a href="http://www.imooc.com">返回</a></p>
<script type="text/javascript">
//获取显示秒数的元素,通过定时器来更改秒数。
setTimeout("myTime()");
var num=5;
// window.open('http://baidu.com');
function myTime(){
document.getElementById("time").innerHTML=num;
num=num-1;
setTimeout("myTime()",1000);
//通过window的location和history对象来控制网页的跳转。
if(num==0){
window.history.go(0);
//window.location.assign("hppt://www.imooc.com/");
}
}
</script>
</body>
</html>
你点击按钮直接触发了b_ack()函数,直接就执行了window.history.back();返回历史上一页,根本没有机会执行到document.write();语句
你的代码整体逻辑存在问题,大致帮你修改下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>浏览器对象</title>
</head onload="timecount()">
<body>
<h2>操作成功</h2>
<input type="button" value="返回" onclick="timeCount()">
<script type="text/javascript">
var second=5;
function timeCount(){
if(second>0){
document.write(second+"秒之后返回");
second--;
setTimeout(timeCount,1000);
}else{
back();
}
}
function back(){
//5秒结束后要执行的语句
window.location.assign("http://www.imooc.com/");
}
</script>
</body>
</html>
那么我也有个问题,onload函数是随便放在哪里都可以的吗?body和head里有什么区别吗?