为什么clearTimeout不能直接通过onclick来触发而clearInterval却可以了?

<!DOCTYPE HTML>
<html>

	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
		<title>计时器</title>
		<script type="text/javascript">
			function add() {
				var time = new Date();
				document.getElementById("clock").value = time;
				var i = setTimeout(add, 1000)
			}
			var l = setTimeout(add, 100)
		</script>
	</head>

	<body>
		<form>
			<input type="text" id="clock" size="50" width="20" />
			<input type="button" value="Stop" onclick="clearTimeout(i)" />
	</body>

</html>

代码这样

我要冲钱
浏览 1419回答 3
3回答

qq_青枣工作室_0

因为你的i变量没放到全局变量上。把var i = setTimeout(add, 1000) 前面的var去掉。再在function add() {}外面定义一个var i;function add() {     var time = new Date();     document.getElementById("clock").value = time;     i = setTimeout(add, 1000) } var i;

woshiajuana

你写错了 <!DOCTYPE HTML><html><head>    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">    <title>计时器</title>    <script type="text/javascript">        function add() {            var time = new Date();            document.getElementById("clock").value = time;             l = setTimeout(add, 1000)        }        var l = setTimeout(add, 100)    </script></head><body><form>    <input type="text" id="clock" size="50" width="20" />    <input type="button" value="Stop" onclick="clearTimeout(l);"/>    </form></body></html>
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript