heyleta
2016-11-21 22:03
//获取显示秒数的元素,通过定时器来更改秒数。
var sec=document.getElementById("second");
var i=5;
function countDown(){
i--;
sec.innerHTML=i;
//document.getElementById("second").value=i;
if(i==1)
{
window.location.href="http://www.imooc.com/";
}
}
setInterval(countDown,1000);
为什么用斜体加粗部分的代码写的话(同时把var sec=document.getElementById("second");注释掉),5不会动?
斜体加粗部分的.value和.innerHTML有什么区别?因为8-3 计时器setInterval()中的代码中用了.value,请教大家。
<b id="second">5</b>像这样内容写在标签中间的都用innerHTML来获取内容;
<input type="text" value="5"/>这种内容写在value属性上的就用value获取内容;
因此这里document.getElementById("second").innerHTML=i;(value改成innerHTML)就可以正确赋值i;
这样的话,5当然不会动,因为你把上面的(var sec=document.getElementById("second");)这个注释掉的话,就获取不到id位“second”的对象,所以5怎么也不会动
<!DOCTYPE html>
<html>
<head>
<title>浏览器对象</title>
<meta http-equiv="Content-Type" content="text/html; charset=gkb"/>
</head>
<body>
<!--先编写好网页布局-->
<h1 >操作成功</h1>
<p>
<b id="second">5</b>秒后回到主页 <a href="javascript:goBack();">返回</a>
</p>
<script type="text/javascript">
//获取显示秒数的元素,通过定时器来更改秒数。
var sec=document.getElementById("second");
var i=5;
function countDown(){
i--;
sec.innerHTML=i;
//document.getElementById("second").value=i;
if(i==1)
{
window.location.href="http://www.imooc.com/";
}
}
setInterval(countDown,1000);
//通过window的location和history对象来控制网页的跳转。
function goBack(){
window.history.go(-1);
}
</script>
</body>
</html>
代码发完整,你这里id为second是什么元素
通过id获取标签,并使其值为i
JavaScript进阶篇
468061 学习 · 21891 问题
相似问题