我想知道我们是否能做得比将setTimeout多次嵌套以使一堆元素动画化那样更优化,比如这件丑陋的事情:
setTimeout(function () {
$('div[data-order="0"]').parent().removeClass('flipped');
setTimeout(function () {
$('div[data-order="1"]').parent().removeClass('flipped');
setTimeout(function () {
$('div[data-order="2"]').parent().removeClass('flipped');
}, 75);
}, 75);
}, 75);
最佳答案
您可以使用一个函数:
function flipByOrder(order) {
$('div[data-order="' + order + '"]').parent().removeClass('flipped');
if (order <= 1) {
setTimeout(function() { flipByOrder(order + 1); }, 75);
}
}
flipByOrder(0);
您也可以使用
setInterval
:var order = 0;
var interval = setInterval(function() {
$('div[data-order="' + order + '"]').parent().removeClass('flipped');
order++;
if (order > 2) clearInterval(interval);
}, 75);
关于javascript - setTimeout-section替代,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25515111/