js提供了一些原生的方法来实现延时功能,setInterval() setTimeout setImmediate() requestAnimationFrame()
1)window.setTimeout-----在指定的毫秒数到了之后,执行代码段或函数一次
var id = setTimeout(function(){},millisec) //millisec都是必须的
clearTimeout(id)
//或者
function ff(){}
var id = setTimeout(ff,millisec) //code millisec都是必须的
2)window.setInterval----以固定的时间间隔重复调用一个函数或者代码段
var id = setInterval(code,millisec) //code millisec都是必须的
clearInterval(id)
3)window.setImmediate-----把一些需要长时间运行的操作放在一个回调函数里,在浏览器完成后面的其他语句后,就立刻执行这个回调函数,目前只有IE10支持
var immediateID = setImmediate(func, [param1, param2, ...]); //参数传给func
var immediateID = setImmediate(func);
clearImmediate(immediateID)
4)window.requestAnimationFrame: 告诉浏览器您希望执行动画并请求浏览器在下一次重绘之前调用指定的函数来更新动画
var id = window.requestAnimationFrame(callback);
cancelAnimationFrame(id)