大年糕
2017-02-28 14:07
问题1:我想打开页面后然后点击开始显示时间, 点击停止时间停止,在点击开始时间继续走,但是现在,点击停止时间不停为什么!
问题2:clearInterval可不可以写在function函数里调用呢?
麻烦给解释的详细点,不胜感激
<!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=gb2312" />
<title>无标题文档</title>
<script type="text/javascript">
function clock(){
var time=new Date();
document.getElementById("clock").value = time;
}
function sta()
{
var i=setInterval("clock()",1000);
}
</script>
</head>
<body>
<form>
<input type="text" id="clock" size="50" />
<input type="button" value="Stop" onclick="clearInterval(i)" />
<input type="button" value="start" onclick="sta()" />
</form>
</body>
</html>
你定义的i只在sta()函数中有作用,你调用clearInterval(i)中的i得不到setInterval()的返回值,所以结束不了,你应该把i=setInterval("clock()",1000)写到函数外面;
clearInterval()可以写在函数中调用的
var i 定义放外层 。在函数里边定义的 作用于只能在函数里
按照刚才你说的 我把i 放到外边 变成全局变量 好使了! 谢谢哈!
<!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=gb2312" />
<title>无标题文档</title>
<script type="text/javascript">
var i;
function clock(){
var time=new Date();
document.getElementById("clock").value = time;
}
function sta()
{
i=setInterval("clock()",1000);
}
</script>
</head>
<body>
<form>
<input type="text" id="clock" size="50" />
<input type="button" value="Stop" onclick="clearInterval(i)" />
<input type="button" value="start" onclick="sta()" />
</form>
</body>
</html>
开启了多个计时器,刷新一下页面就好
var i=setInterval("clock()",1000); function sta() { i=setInterval("clock()",1000); }
改成这样就可以了。
JavaScript进阶篇
468065 学习 · 21891 问题
相似问题
回答 2
回答 4