html5的效果代码求解释

这段代码求解释

 $(this).delay(d).animate({opacity: 0}, {
            step: function(n){
                alert(n);
                s = 1-n;
                $(this).css("transform", "scale("+s+")");
            }, 
            duration: 1000, 
        })
    其中animate官网的解释不是改变某个属性么,第一个{opacity: 0}知道是透明度变为0
    ,那么第二个{
        step: function(n){
            alert(n);
            s = 1-n;
            $(this).css("transform", "scale("+s+")");
        }, 
        duration: 1000, 
    }  怎么看也不是一个属性这是个什么东西呢?

delay延迟
animate动画
scale放大缩小

delay() 方法对队列中的下一项的执行设置延迟;
animate() 方法执行 CSS 属性集的自定义动画,参数animate(styles,speed,easing,callback)或者animate(styles,options), 很明显你的代码属于后一种传参,在后面一种中,options可能的值有:
speed - 设置动画的速度(等于代码中的duration)
easing - 规定要使用的 easing 函数
callback - 规定动画完成之后要执行的函数
step - 规定动画的每一步完成之后要执行的函数
queue - 布尔值。指示是否在效果队列中放置动画。如果为 false,则动画将立即开始
specialEasing - 来自 styles 参数的一个或多个 CSS 属性的映射,以及它们的对应 easing 函数
现在在来看是不是就懂了呢