Я знаю, что официальным способом ожидания анимации является обратный вызов, отправляемый в функцию анимации.Можно ли как-то запросить очередь анимации, выполнив цикл ожидания (с watchdog ) вне вызова анимации?
Пример (и конкретная проблема)
Мы используем jQuery лайтбокс 0.5 , переместили кнопку закрытия и добавили некоторую информацию .Поле отображается правильно, за исключением IE8, где нижние элементы располагаются слишком далеко, пока размер страницы не изменится или не произойдет наведение указателя мыши.
Кажется, что IE должен ждать между анимациями, чтобы добиться успеха.Я хотел бы исправить эту проблему без изменения потока кода .Возможно ли это?
Это из лайтбокса jQuery:
/**
* Show the prepared image
*
*/
function _show_image() {
$('#lightbox-loading').hide();
$('#lightbox-image').fadeIn(function () {
_show_image_data();
_set_navigation();
});
_preload_neighbor_images();
};
/**
* Show the image information
*
*/
function _show_image_data() {
$('#lightbox-container-image-data-box').slideDown('fast');
Если я изменю его следующим образом, он отлично работает в IE8:
/**
* Show the prepared image
*
*/
function _show_image() {
$('#lightbox-loading').hide();
$('#lightbox-image').fadeIn(function () {
_show_image_data();
});
_preload_neighbor_images();
};
/**
* Show the image information
*
*/
function _show_image_data() {
$('#lightbox-container-image-data-box').slideDown('fast', function () {
_set_navigation();
});
Можно ли дождаться очереди анимации для определенного элемента?
Псевдокод:
/**
* Show the prepared image
*
*/
function _show_image() {
$('#lightbox-loading').hide();
$('#lightbox-image').fadeIn(function () {
_show_image_data();
var timeout = 500;
$('#lightbox-container-image-data-box').waitForAnimation(timeout);
_set_navigation();
});
_preload_neighbor_images();
};
/**
* Show the image information
*
*/
function _show_image_data() {
$('#lightbox-container-image-data-box').slideDown('fast');