javascript - 如何链接 .call() 函数 - 将过渡添加到 Nivo Lightbox

标签 javascript jquery lightbox nivo-slider

我正在尝试为 Nivo Lightbox 中显示的项目实现 CSS 动画过渡。 我已插入并运行新函数,但以下 2 个函数在其完成之前运行。

$('.nivo-lightbox-prev').off('click').on('click', function(e){
    e.preventDefault();                
    var index = galleryItems.index(currentLink);
    currentLink = galleryItems.eq(index - 1);
    if(!$(currentLink).length) currentLink = galleryItems.last();
    $this.options.beforePrev.call(this, [ currentLink ]);  # <---- new function I added
    $this.processContent(content, currentLink);            # <---- existing function 1
    $this.options.onPrev.call(this, [ currentLink ]);      # <---- existing function 2
});

我知道的唯一方法是将它们放入回调中,但是 .call() 不接受回调。

我尝试过这个:

function beforePrev(callback){
    $this.options.beforePrev.call(this, [ currentLink ]);
    callback();
}
function onPrev(){
    $this.processContent(content, currentLink);
    $this.options.onPrev.call(this, [ currentLink ]);
}
beforePrev(onPrev);

但它的行为是一样的。

如果相关的话,beforePrev 的代码是:

beforePrev: function() {
    el = $('.nivo-lightbox-content');
    el.addClass('animated fadeOutLeft');
    el.one('webkitAnimationEnd oanimationend msAnimationEnd animationend', function (e) {
        el.removeClass('fadeOutLeft');
    });
},

谁能给我指出正确的方向吗?

<小时/>

更新/编辑以更加清晰: 这是完整的原始 Nivo 代码:link

根据我的理解,$this 只是一个引用 init 函数的标准变量,而不是 DOM 对象。我认为这就是这似乎很难做到的原因之一。

最佳答案

使用.queue()

为了仅在函数 a 完成执行后才执行函数 b:

$('element').a()
.queue(function() {
   $('element').b();
   $(this).dequeue();
});

关于javascript - 如何链接 .call() 函数 - 将过渡添加到 Nivo Lightbox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27272046/

相关文章:

javascript - 为什么 removeAttr ('placeholder' ) jquery 函数没有删除 :placeholder-shown pseudo class from input?

javascript - 如何使用jquery随机删除同一类的元素

php - jquery - 使用 Lightbox 插件和来自 mysql 数据库的 blob

javascript - 从 SSL iframe 到父级的 onclick 链接?

javascript - 以对象为参数的 JavaScript 箭头函数是什么意思?

javascript - 使用复选框更新 MySQL 值

javascript - JSZip 文件无法工作 :"' 错误 : The data of 'the loaded zip file' is in an unsupported format ! "

javascript - Couchapp:如何存储文档?

javascript - 如何将部分json响应转换为map

javascript - 使用 codeigniter 检索 css lightbox 上的每个数据