动画完成后运行功能

时间:2015-09-15 19:54:41

标签: javascript jquery

我已尝试在.animate()中提供回调函数(FUNCTIONX),但它会立即触发 - 并且不会等待动画结束。

nav.click(function () {
    holder.stop(true, true);
    var target = $(this).attr('class');

    if (target === 'right') {
        var value = current.width();
        holder.animate({
            right: '+=' + value
        }, slideSpeed, FUNCTIONX());
        current = current.next();
    } else {
        var value = current.prev().width();
        holder.animate({
            right: '-=' + value
        }, slideSpeed, FUNCTIONX());
        current = current.prev();
    }
});

还尝试使用.promise()(如下所示),效果相同。

        var value = current.width();
        holder.animate({
            right: '+=' + value
        }, slideSpeed);
        current = current.next();
        nav.promise().done(function() {
          alert( 'dupa' );
        });

幻灯片效果结束后如何完成此动画后的运行功能?

1 个答案:

答案 0 :(得分:1)

立即调用FUNCTIONX。请尝试删除()

自:

holder.animate({
  right: '+=' + value
}, slideSpeed, FUNCTIONX());

要:

holder.animate({
  right: '+=' + value
}, slideSpeed, FUNCTIONX);