javascript - 动画完成后运行函数

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

这个动画完成后,幻灯片效果结束后如何运行函数?

最佳答案

FUNCTIONX 在这里立即被调用。尝试删除 ()

来自:

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

致:

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

关于javascript - 动画完成后运行函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32594523/

相关文章:

javascript - 动态设置从 JavaScript 模块导出的变量

javascript 没有看到第一次点击?

javascript - 在我的自定义模态框内滚动

javascript - 如何在移动浏览器中打开下拉菜单?

jQuery 1.8,异步 : false with jqXHR ($. 已推迟)已弃用

javascript - 连接对象值

javascript - 如何在javascript中的列表框中动态添加行和列

javascript - 事件处理程序如何在 javascript 内部执行?

javascript - 为什么 "var"关键字不能与逗号运算符一起使用?

javascript - 删除 DOM 中的小数位