我可以从每个步骤的jQuery动画步骤方法获得哪些信息?

时间:2010-07-15 18:46:18

标签: javascript jquery jquery-animate


我有一个垂直的推荐带,我有这种方法,每隔几秒就用一个计算值(取决于当前推荐的高度)激活其top值。

现在,当用户将鼠标悬停在其上时,它会立即停止(通过.stop()并且间隔也会通过clearInterval(idOfinterval)清除 但是我仍然想知道在它突然停止之前动画还剩下多少像素。

所以我查看了documentation,我看到有一个step方法有一个回调,可以给我关于动画的每个(?)步骤的信息。

查看部分代码

 //in middle of a object literal
  animate:function(){
    animAmmount = someCalculation;
    testimonialsBelt.parentElment.animate({
    top:"-="+howMuchIsLeft||animAmmount+"px"},
    {step:function(step){
         //here i am trying to get how much px it has moved so far
           currTopVal = step;
           console.log("currTopVal", currTopVal);
        // i get some numbers, and i have no idea from where it got them 
       }
   },
   calculatedSpeed);
}

所以我的主要问题是

  • 我可以从传递给step方法的参数中获得哪些信息?
  • 并在每个动画间隔回调吗?
  • 1 个答案:

    答案 0 :(得分:2)

    看起来“this”符号将是调用animate的元素。回调的第一个参数看起来就像在此步骤中设置动画的属性的值。第二个参数是一个如下所示的对象:

    • elem :在
    • 上调用了元素animate
    • 结束 :(猜测)动画完成时属性的值
    • 现在 :(猜测)此步骤中属性的值
    • 选项:您传递给动画的原始选项。
    • pos :(猜)某事的位置
    • prop :(猜)该属性在此步骤中执行了操作。如果有多个属性更改,则每个属性可能都有一个步骤。
    • 开始 :(猜测)动画启动时的属性值
    • startTime :(猜)动画开始的时间(以毫秒为单位)。
    • 状态:从0到1的浮点数,表示动画的完成程度。
    • 单位:属性值的单位(例如'px')。