jQuery调用在淡入淡出的同时错误地触发

时间:2015-07-15 19:19:03

标签: javascript jquery callback call jquery-callback

我正在构建一个灯箱,并且遇到了以下fadeIn函数与fadeOut同时触发而不是之后触发的问题。

为什么updateImage.call(this)fadeOut同时开火?考虑到它被作为回调放在后面,它是不是应该开火?

Full code snippet

function updateImage() {
    activeImage = overlayImagesBox.find('.' + this.className);
    activeImage.fadeIn('slow').addClass('active-image');
}

imageLinks.on('click', function (e) {
    e.preventDefault();
    if (!activeImage) {
        updateImage.call(this);
    } else {
        activeImage.removeClass('active-image').fadeOut('slow', updateImage.call(this));
        activeImage = null;
    }
});

1 个答案:

答案 0 :(得分:0)

正如@blex在评论中提到的那样,正确的答案就是将函数作为回调传递而不是执行它。谢谢大家的帮助。