<html> <head> <meta charset="utf-8"> </head> <body> <DIV id="CountMsg" class="HotDate"> <span id="t_s">00秒</span> </DIV> <script type="text/javascript"> var s=0 function set_val(){ s = document.getElementById("ttime").value; } function getRTime(){ document.getElementById("t_s").innerHTML = s + "秒"; s-=1 if(s == 0){ Window.clearInterval() } } setInterval(getRTime,1000); </script> </body> <input type="text" id="ttime" value=10> <button type="button" id="btn" onclick="set_val()">点我</button> </html>
当s为0时怎么停止setInterval
我那句Window.clearInterval();好像没什么用
Window.clearInterval()取消的时候要带参数的呀。
var timer = setInterval(getRTime,1000);
Window.clearInterval(timer );
<script type="text/javascript"> var s=0; function set_val(){ s = document.getElementById("ttime").value; } function getRTime(){ document.getElementById("t_s").innerHTML = s + "秒"; s-=1 if(s < 0){ Window.clearInterval(timer); } } var timer = setInterval(getRTime,1000); </script>
这样写,还是不行。
我的目的很简单,就是个定时器,
在input里输入数字。
点button后,开始按秒倒数,数到0,执行一个函数,然后在自已重新开始倒数
@还没有: 老大,你不看控制台的呀,有报错信息的呀!!!!
没有Window这个对象,只有window, w要小写
var s=10; function set_val(){ s = document.getElementById("ttime").value; } function getRTime(){ document.getElementById("t_s").innerHTML = s + "秒"; s-=1 if(s < 0){ window.clearInterval(timer); } } var timer = setInterval(getRTime,1000);
@angelshelter: 换了个编辑器,那个没有
setInterval里面是不是执行的是一个方法?只写一个方法名可以么?但好像不是这个原因,既然执行了,说明能调用!
可以用 setTimeout ,setTimeout 只会执行一次