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

时间:2016-02-06 18:30:01

标签: javascript jquery callback jquery-animate jquery-callback

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

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

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

我打算用以下调用替换它:

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

谢谢!

1 个答案:

答案 0 :(得分:1)

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

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

你会用这种方式

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

第二种语法看起来就像你正在尝试使用的语法

.animate( properties, options )

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

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

queue