jQuery 声明完成时回调未触发:?

jQuery callback not firing when declaring complete:?

我有一个动画可以通过将不透明度降低到 0 来从屏幕上删除内容。然后我想将 css 属性 可见性设置为隐藏。为了获得正确的顺序,我一直在尝试使用警告框来了解事件何时触发。警告框不显示。这是我的代码:

                $('.save-hidden').animate({
                    opacity: 0, 
                    complete: function() { alert('Executes now.');}
                }, 2000);

我的函数调用语法是否正确?正如我所说,警报永远不会显示。

我打算将其替换为以下调用:

                $('.save-hidden').css({ visibility: "visible"});

谢谢!

jQuery 的 animate() 支持两种不同类型的语法,第一种是

.animate( properties [, duration ] [, easing ] [, complete ] )

你会用这种方式

$('.save-hidden').animate({opacity: 0}, 2000, function() { 
    alert('Executes now.');}
});

第二种语法,看起来像您要使用的语法,是

.animate( properties, options )

在这里您可以使用两个对象,第一个包含要设置动画的属性,第二个包含选项,例如 complete()

换句话说,complete 回调不属于具有动画属性的对象,但可以添加另一个对象作为第二个参数,包含 durationcompletequeue
请注意,此语法将在选项对象中包含所有回调、缓动等,并且只接受两个参数。

$('.save-hidden').animate({
    opacity: 0
}, {
    complete: function() { 
        alert('Executes now.');
    },
    duration : 2000
});