我不能使用setInterval方法,我不知道为什么。 这个脚本有什么问题,点击停止后它不会在文本字段中显示计数器i的结果。
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>test_setInterval</title>
<script type="text/javascript">
var i = 0;
var interval;
function start ()
{
interval = document.setInterval("i++", 1000);
}
function stop ()
{
document.clearInterval(interval);
output.value = i;
}
</script>
</head>
<body>
<input id="output" type="text" />
<input id="start" type="button" value="start" onclick="start()" />
<input id="stop" type="button" value="stop" onclick="stop()" />
</body>
</html>
答案 0 :(得分:1)
clearInterval
和setInterval
是窗口的方法,而不是文档。您可以将其称为window.clearInterval
或仅clearInterval
。这是一个有效的演示http://jsfiddle.net/9cveg/
答案 1 :(得分:1)
你必须将i ++包装在一个函数中
另外,删除文档。在setInterval之前。
现在,要小心这有一个错误。如果按两次“开始”,i
每秒会增加两个单位
通过在启动函数中添加另一个clearInterval
来解决错误。
function start ()
{
clearInterval(interval);
interval = setInterval(function(){++i;}, 1000);
}
function stop ()
{
clearInterval(interval);
output.value = i;
}
答案 2 :(得分:0)
根据定义,setInterval()方法调用一个函数或以指定的时间间隔(以毫秒为单位)计算表达式,其窗口的方法不是文档的。
<script type="text/javascript">
var i = 0;
var interval;
function start ()
{
interval = window.setInterval("i++", 1000);
}
function stop ()
{
document.clearInterval(interval);
output.value = i;
}
</script>