jQuery задержки на собственность - PullRequest
1 голос
/ 18 февраля 2012

Я боролся с этой проблемой некоторое время и решил отказаться от подхода 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

Спасибо!

...