在实际开发中,我们经常需要使用 jQuery 执行某个动作多次,这就要用到重复执行的技巧了。
一种实现重复执行的方法是使用 setInterval() 函数。该函数可以在指定的时间间隔内重复执行某个代码段。下面是一个简单的例子,它每隔 3 秒就向控制台输出一次“Hello World”:
<script>setInterval(function(){console.log("Hello World");}, 3000);</script>
上述代码中,setInterval() 函数的第一个参数是要执行的代码段,可以是一个函数或者是一段 JavaScript 代码。第二个参数是时间间隔,以毫秒为单位。
如果要停止 setInterval() 函数,可以使用 clearInterval() 函数。该函数需要一个 setInterval() 函数的返回值作为参数,这个返回值是 setInterval() 函数的句柄。下面是一个例子:
<script>var intervalId = setInterval(function(){console.log("Hello World");}, 3000);setTimeout(function(){clearInterval(intervalId);}, 15000);</script>
上述代码中,setTimeout() 函数会在 15 秒后调用它的回调函数,该函数内会执行 clearInterval() 函数以停止 setInterval()。
除了使用 setInterval() 函数,我们还可以使用递归函数来实现重复执行。递归函数是一种自己调用自己的函数。下面是一个例子,它每隔 3 秒就向控制台输出一次“Hello World”:
<script>function repeat(){console.log("Hello World");setTimeout(repeat, 3000);}repeat();</script>
上述代码中,repeat() 函数内部包含了一行 console.log("Hello World") 代码和一次 setTimeout() 调用,它会在 3 秒后再次调用 repeat() 函数,形成了循环的效果。
无论是使用 setInterval() 函数还是递归函数,都需要注意处理好函数的停止条件,以免造成无限循环的情况。