设置一个延时来推迟执行队列中之后的项目。这个方法不能取代JS原生的setTimeout。
The .delay() method is best for delaying between queued jQuery effects. Because it is limited—it doesn't, for example, offer a way to cancel the delay—.delay() is not a replacement for JavaScript's native setTimeout function, which may be more appropriate for certain use cases.
例子:在.slideUp() 和 .fadeIn()之间延时800毫秒。
HTML 代码:
<div id="foo /">
jQuery 代码:
$('#foo').slideUp(300).delay(800).fadeIn(400)
2. 通过循环消耗cpu
function sleep(n) {
var start = new Date().getTime()
while(true) if(new Date().getTime()-start >n) break
}
3. 用setTimeout。
假设有三个步骤,步骤之间需要暂停一段时间;可以采用如下的方法:
function firstStep() {
//do something
setTimeout("secondStep()", 1000)
}
function secondStep() {
//do something
setTimeout("thirdStep()", 1000)
}
function thirdStep() {
//do something
}
你戳到js的痛处了最开始设计时候就是单线程的
即时用setTimeout 模拟
也只是将代码片插入主线程里 然后间隔一个时间片自动触发执行
就像埋个定时boom 而不是sleep这种高级遥控boom
所以一般都是用:
setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式。
语法
setTimeout(code,millisec)
参数
描述
code必需。要调用的函数后要执行的 JavaScript 代码串。
millisec必需。在执行代码前需等待的毫秒数。
setTimeout() 只执行 code 一次。如果要多次调用,请使用 setInterval() 或者让 code 自身再次调用 setTimeout()。
js刷新页面可以用定时器加reload去实现。例:
setInterval(function(){
window.location.reload()
},5000)
这样是每隔五秒刷新一次当前页面