js常用的定时器方法有四个
- setTimeout(“js语句”,定时时间)
- setInterval(“js语句”,定时时间)
- clearTimeout(需要停止的对象)
- clearInterval(需要停止的对象)
注意:这里的定时时间单位都为毫秒
下面我们来看一下它们的用法:
setTimeout()
单次定时,即setTimeout的第一个参数的js语句只会定时实现一次。
比如:
word = setTimeout("showWord()", 2000)
那么浏览器就会只在你调用setTimeout方法2秒后实现showWord方法,只实现一次不循环。将setTimeout赋值给word是为了方便清除,下面我们会提到。
我们来看一下效果:
当然你还可以把函数方法写到setTimeout的参数中去。
比如:
var word = setTimeout(function() {
s.innerHTML = "<p>我喜欢javacript</p>"
}, 3000)
setInterval()
循环定时,即setInterval的第一个参数的js语句只会定时实现无数次。
比如:
word = setInterval("showWord()", 2000)
浏览器会在你调用setInterval后每间隔2秒就会调用一次showWorld方法
同理如果你喜欢的话,也可以将函数写到参数中去
clearTimeout() 与 clearInterval()
两者用法一样,清除定时器对象,不过从名字可以看出,清除的定时器是与上面对应的,但其实是可以互用的,你们可以试试。现在我们来说说它们的用法。
比如前面的word:
clearInterval(word)
clearInterval就只有一个参数,即你要清除的定时器对象,当然clearTimeout的参数也是只有一个
效果在演示setInterval时已显示
补上showWord代码:
var showWord = () => {
r = Math.random() * 254 + 1
g = Math.random() * 254 + 1
b = Math.random() * 254 + 1
var s = document.getElementById("show")
s.style.background = "rgb(" + r + "," + g + "," + b + ")"
s.innerHTML = "<p>我喜欢javacript</p>"
}