settimeout 回调 递归妙用
对函数a进行3次循环,每隔一秒执行一次。但是for或while不能决定循环间隔的时间,想到递归,在a()执行完后调用setTimeout执行下一次循环。
function b(){
a()
window.setTimeout(b,1000)
}
例:循环变色,边框闪烁
<script language="javascript">
$(document).ready(function(){
var i = 15
function change(obj) {
yelo = function (obj) {
obj.css("border", "1px solid #FF0")
}
red = function (obj) {
obj.css("border", "1px solid red")
}
if (i < 0) {
window.clearTimeout(Go);
return false;
}
if (i % 2 == 1) {
yelo(obj)
} else {
red(obj)
}
Go = window.setTimeout(function () {
change(obj)
}, 200)
i--
}
change($('.div'))
})
</script>

浙公网安备 33010602011771号