使用JavaScript,我创建了一个对象数组。对象的属性之一是Raphael形状。
使用$.each(arr, function() {});
,我已经绘制了形状,但是我希望它们快速连续地成为fadeIn
。因此,arr[1].hexagon
将先是fadeIn
,然后是arr[2]
,依此类推。通过将fadeIn
附加到对象上,我已经能够统一获得所有.animate()
,但是我不知道如何计时JavaScript。
我想更一般地说,是否有使用Raphael或jQuery控制序列和时间的技巧?
最佳答案
这不使用raphael或jquery,而只是在javascript中延迟数组迭代的一种方法:
var doSomethingWithValue = function(v) {
// your call to animate the object, or do anything really.
console.log(v);
}
var timer = function(a, n) {
var delay = 1000; // a second, probably change this to same duration as the fadeIn()
doSomethingWithValue(a[n]); // do work
n += 1;
if (n == a.length) {
// if we're at the end, return
return;
} else {
// repeat after delay
setTimeout(function() {timer(a, n)}, delay);
}
}
var arr = [1,2,3];
// kick things off starting at first entry
timer(arr, 0);
那对你有用吗?
关于javascript - 对Raphael Javascript动画序列进行动画处理,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8647078/