- <script>
- function test(){
- alert('111');
- }
- setInterval('test()',3000);//每隔3秒执行一次函数test()
- </script>
我们执行会看到每隔3秒会执行alert('111');不会停止,如果编写如下代码:
- <script>
- function test(){
- alert('111');
- }
- setTimeout('test()',3000); //3秒之后执行一次(仅仅执行一次)
- </script>
运行会发现3秒后执行一次就不执行了,这就是两者的差别,使用哪一个看我们的具体需求,其实变通一下也可以使setTimeout具有和setInterval同样的功能,例如:
- <script>
- function test(){
- alert('111');
- setTimeout('test()',3000);//函数内调用
- }
- setTimeout('test()',3000); //3秒之后执行一次(仅仅执行一次)
- </script>
- <div id="show">0</div>
- <script>
- function test(){
- var obj = document.getElementById('show');
- obj.innerHTML = parseInt(obj.innerHTML) + 1;
- }
- function start_add(){
- time_id = setInterval('test()',500);//每隔0.5秒执行一次函数test()
- }
- </script>
- <input type="button" value="点击开始执行" onclick="start_add();" />
- <input type="button" value="点击终止执行" onclick="clearInterval(time_id);" />