找出jQuery动画的CSS属性

zer*_*ro7 6 javascript jquery

我看到它会$element.is(':animated')告诉我$ element是否正在动画,但是有可能看到哪些css属性正在被动画化.

Int*_*ang 2

是的,将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正在动画的属性。

请注意,此函数会运行动画的每个“步骤”,因此它会经常触发。您可以使用它来更新当前动画属性或类似属性的数组。