我看到它会$element.is(':animated')告诉我$ element是否正在动画,但是有可能看到哪些css属性正在被动画化.
是的,将step函数传递给 animate() 调用将允许您找出正在通过 进行动画处理的属性fx.prop。以下是 jQuery API 文档中的示例:
$('li').animate({
opacity: .5,
height: '50%'
},
{
step: function(now, fx) {
var data = fx.elem.id + ' ' + fx.prop + ': ' + now;
$('body').append('<div>' + data + '</div>');
}
});
Run Code Online (Sandbox Code Playgroud)
该step函数的两个参数如下:
now:每一步动画的属性的数值
fx:对原型对象的引用
jQuery.fx,其中包含许多属性,例如elem动画元素的属性、start动画end属性的第一个和最后一个值以及prop正在动画的属性。
请注意,此函数会运行动画的每个“步骤”,因此它会经常触发。您可以使用它来更新当前动画属性或类似属性的数组。