jQuery是否通过查询动画队列等待动画?

jQuery是否通过查询动画队列等待动画?,jquery,html,jquery-animate,Jquery,Html,Jquery Animate,我知道等待动画的官方方法是回调发送到动画函数。是否仍然可以以某种方式查询动画队列,在动画调用之外执行等待循环(使用a) 示例(和一个具体问题) 我们正在使用并移动了关闭按钮,添加了一些信息内容。 该框呈现正确,但IE8除外,IE8中底部项目的位置太高,直到调整页面大小或鼠标悬停 似乎IE需要在动画之间等待,才能正常成功。 我希望在不更改代码流的情况下解决此问题。可能吗 这来自jQuery lightbox: /** * Show the prepared image * */ function

我知道等待动画的官方方法是回调发送到动画函数。是否仍然可以以某种方式查询动画队列,在动画调用之外执行等待循环(使用a)

示例(和一个具体问题) 我们正在使用并移动了关闭按钮,添加了一些信息内容。 该框呈现正确,但IE8除外,IE8中底部项目的位置太高,直到调整页面大小或鼠标悬停

似乎IE需要在动画之间等待,才能正常成功。 我希望在不更改代码流的情况下解决此问题。可能吗

这来自jQuery lightbox:

/**
* 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');

您可以
将自己的函数排队
放入效果(fx)队列,甚至
延迟
它们(如果需要)。只需确保将其应用于与lightbox完全相同的元素

$('#lightbox-image').delay(1000).queue(function(next) {
   // your code here

   if (next) next(); 
});
看一看。