javascript - jQuery 调用与淡入淡出同时错误地触发

标签 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;
    }
});

最佳答案

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

关于javascript - jQuery 调用与淡入淡出同时错误地触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31439204/

相关文章:

javascript - 鼠标悬停在微模式下打开嵌套树列表菜单

javascript - 在另一个 API 调用中进行 API 调用?

javascript - 如何让 php `json_encode` 返回 Javascript 数组而不是 Javascript 对象?

javascript - 帮助从外部网站获取Json格式数据

php - 当jquery-file-upload中的DB值 "position"等于 "id"时,如何插入数据

jquery - 在 Javascript/jQuery 中将匿名函数传递给自定义事件触发器

javascript - 从 C++ 代码调用 JavaScript 回调函数抛出错误 - nbind

javascript - 很棒的 CSS 效果

javascript - Jquery:将值数组从一个数组输入传递到另一个数组输入字段

javascript - Javascript 回调的范围问题