jQuery每个属性的延迟

时间:2012-02-18 00:34:44

标签: javascript jquery loops timer settimeout

我一直在努力解决这个问题,并且已经决定抛弃setTimeout方法,因为我刚刚读到创建太多的定时器是不好的。下面是为一组对象设置动画的功能 - 在悬停时调用。它当前已设置为所有动画设置都从用户传入并应用于正确的对象,然后每个对象基于每个属性进行动画处理 - 允许控制速度输入/输出和缓和每个属性。

我现在唯一能做的就是延误。我不能使用.delay,因为它没有排队,我不能使用setTimeout(至少在我采用的方法中)。有什么想法吗?

function animate_in(e){ 
$(this).find('.captionator_background').each(function(index){ 
// LOOP THROUGH OBJECTS
current_obj = $(this); current_obj.stop().clearQueue();

// 1. LEFT ANIMATION
current_obj.animate({'left':ends_x_set[index]},{duration:parseInt(bg_x_speed_in_set[index], 10), queue:false, specialEasing: {'left':bg_x_ease_in_set[index]}});

// 2. TOP ANIMATION
current_obj.animate({'top':ends_y_set[index]},{duration:parseInt(bg_y_speed_in_set[index], 10), queue:false, specialEasing: {'top': bg_y_ease_in_set[index]}});

// 3. OPACITY ANIMATION
current_obj.animate({'opacity':parseInt(end_opacity_set[index], 10)},{duration:parseInt(opacity_speed_in_set[index], 10), queue:false, specialEasing: {'opacity':opacity_ease_in_set[index]}});

// 4. BACKGROUND COLOR ANIMATION
current_obj.animate({'backgroundColor':bg_color_in_set[index]},{duration:parseInt(bg_color_speed_in_set[index], 10), queue:false, specialEasing: {'backgroundColor':bg_color_ease_in_set[index]}});

}); // END EACH LOOP
}; // END ANIMATE IN FUNCTION

谢谢!

0 个答案:

没有答案