setTimeout與setTimeout
延遲執(zhí)行
$div.on("click", function () {
setTimeout(function () {
console.log("Time out 2000ms runs");
}, 2000);
}) // 第一個(gè)參數(shù)是響應(yīng)函數(shù)赏迟,第二個(gè)參數(shù)是Timeout的時(shí)間
$div.dblclick(function () {
clearTimeout(func_id);
});
setInterval與setInterval
循環(huán)一定時(shí)間間隔然后執(zhí)行
$div.on("click", function () {
setInterval(function () {
console.log("Time out 2000ms runs");
}, 2000);
})
// 結(jié)束setInterval 不過需要謹(jǐn)慎的是當(dāng)心dblclick被當(dāng)做兩次click崎逃。解決方案是click滿足后就return false,這樣就只剩下dblclick了
$div.dblclick(function () {
clearInterval(func_id);
});
requestAnimationFrame
每次瀏覽器刷新的時(shí)候,這個(gè)函數(shù)執(zhí)行一次。由于瀏覽器要每秒鐘執(zhí)行60次流济,所以這個(gè)函數(shù)也要循環(huán)或者遞歸執(zhí)行60次/秒斟览。做游戲常用
let main = function () {
let step = (timestamp) => {
// console.log(timestamp);
$('div').width($('div').width + 2);
requestAnimationFrame(step);
};
requestAnimationFrame(step);
}
因?yàn)橐恍┨攸c(diǎn)亦镶,現(xiàn)在一般使用的是requestAnimationFrame