我在jqueryUI中使用回调来确保下一个动画将在前一个动画结束时开始。我试图了解这两个非常相似的回调导致不同结果的原因
这是两种不同的语法:
//First callback
$(".main-container").switchClass("col", "col-9", addElements());
//Second Callback
$(".main-container").switchClass("col", "col-9", function(){
addElements();
});
我使用bootstrap,因此col到col-9类切换。在第一个回调中,附加到main-container
的元素会在动画进行时附加并显示,而在第二个回调中,它们会在col
扩展为col-9
后显示。
为什么会有差异?
答案 0 :(得分:1)
你自己解释了不同之处。第一个是定义一个操作完成后要调用的函数 - 也就是说,col被更改为col9。在将一个col更改为col9并添加元素后,将调用它。
第二个是使用匿名函数定义的,因此只有在为主容器中的所有单个col调用switchClass并添加元素之后才会调用它。
它们看起来可能相同 - 也就是说,调用addElements()的回调,但实际上你注意到自己,它们并不是。在第一个中,您在每次转换后调用函数addElements,而在第二个函数中,addElements在回调中被调用,并且仅在所有转换发生后调用。