qq_微笑向暖_8
2016-04-22 22:31
<!DOCTYPE html> <html> <head> <title>浏览器对象</title> <meta http-equiv="Content-Type" content="text/html; charset=gkb"/> </head> <body> <!--先编写好网页布局--> <h1>操作成功</h1> <span id="time">5</span><span>秒后跳转回首页</span><a href="back()">返回</a> <script type="text/javascript"> var count=document.getElementById("time").innerHTML; function counts(){ count--; if(count==0){ window.location.assign("www.imooc.com"); }} setInterval("counts()",1000); function back(){ window.history.back(); } //获取显示秒数的元素,通过定时器来更改秒数。 //通过window的location和history对象来控制网页的跳转。 </script> </body> </html>
你的没有显示数字的语句啊,只是执行了算法,没有显示结果,所以,数字没有变。
修改后的代码,你的疑惑都在代码后的注释里;
<!DOCTYPE html> <html> <head> <title>浏览器对象</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> <!--这里记住修改为UTF-8,不要是GBK,不然是乱码中文--> </head> <body> <!--先编写好网页布局--> <h1>操作成功</h1> <span id="time">5</span><span>秒后跳转回首页</span><a href="back()">返回</a> <script type="text/javascript"> var count=document.getElementById("time").innerHTML; function counts(){ count--; document.getElementById("time").innerHTML = count; //需要增加这一句,将count--重新赋值到count.innerHTML中去; if(count==0){ window.location.assign("http://www.imooc.com"); //记住这里要加'http://' }} setInterval("counts()",1000); function back(){ window.history.back(); } //获取显示秒数的元素,通过定时器来更改秒数。 //通过window的location和history对象来控制网页的跳转。 </script> </body> </html>
var count=document.getElementById("time").innerHTML
改为
var document.getElementById("time").innerHTML=count;
不知道是不是写错还是浏览器不同问题,window.location.assign("www.imooc.com");改为window.location.assign("http://www.imooc.com");就能打开。
<!DOCTYPE html>
<html>
<head>
<title>浏览器对象</title>
<meta http-equiv="Content-Type" content="text/html; charset=gkb"/>
</head>
<body>
<!--先编写好网页布局-->
<h1>操作成功</h1>
<span id="time">5</span><span>秒后跳转回首页</span><a href="back()">返回</a>
<script type="text/javascript">
var count=document.getElementById("time");
//首先你这一句var count=document.getElementById("time").innerHTML; 与 count--; 存在逻辑问题,你只是把数字5获取到了并复制给count变量而count变量与原来的数字半毛钱的关系都没得它只充当一个存储介子,所以count--并没法对原来的数字进行改变。如果你这样做就会出现数字5不变的情况。(我只是大概改了一下,应该还可以简化,毕竟我也不是什么高手,有错的地方欢迎斧正。)
function counts(){
count.innerHTML--;
if(count.innerHTML==0){
window.location.assign("www.imooc.com");
}}
setInterval("counts()",1000);
function back(){
window.history.back();
}
//获取显示秒数的元素,通过定时器来更改秒数。
//通过window的location和history对象来控制网页的跳转。
</script>
</body>
</html>
JavaScript进阶篇
468061 学习 · 21891 问题
相似问题