我正在編寫一段代碼,使用一個類似animate(params, delay, easing, callback)
的簽名的函數(使用RaphaelJS)使HTML元素閃爍三次。想法是callback
在delay
毫秒之後執行,當動畫結束時。因此,我有以下代碼:在JavaScript中編寫相同深度回調的更好方法
var theElement = anElement;
function animateOpacity(newOpacity, callback) {
theElement.animate({ opacity: newOpacity }, 500, null, callback);
}
function blink() {
animateOpacity(0.1, function() {
animateOpacity(1, function() {
animateOpacity(0.1, function() {
animateOpacity(1, function() {
animateOpacity(0.1, function() {
theElement.remove();
});
});
});
});
});
}
...這看起來很可怕。有沒有人知道一個更好的方式來調用這個相同的animateOpacity
函數作爲回調沒有所有這些嵌套的匿名函數?謝謝。