【问题标题】:What information can i get from the jQuery's animate step method on each step?我可以从每个步骤的 jQuery 动画步骤方法中获得什么信息?
【发布时间】:2010-07-15 18:46:18
【问题描述】:


我有一个垂直推荐带,我有这种方法,它每隔几秒用一个计算值(取决于当前推荐的高度)为其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 方法的参数中获得什么信息?
  • 它会在动画的每个间隔回调吗?
  • 【问题讨论】:

      标签: javascript jquery jquery-animate


      【解决方案1】:

      看起来“this”符号将是元素动画被调用。回调的第一个参数看起来像在这一步动画属性的值。第二个参数是一个看起来像这样的对象:

      • elem:元素动画被调用
      • end:(猜测)动画完成时属性的值
      • 现在:(猜测)这一步中财产的价值
      • options:您传递给 animate 的原始选项。
      • pos:(猜测)某物的位置
      • prop:(猜测)在此步骤中作用的属性。如果有多个属性更改,则可能每个都有一个步骤。
      • start:(猜测)动画开始时属性的值
      • startTime:(猜测)动画开始的时间(以毫秒为单位)。
      • state:从 0 到 1 的浮点数,表示动画的完成程度。
      • unit:属性值的单位(例如'px')。

      【讨论】:

      • 尝试让你的 step 函数做这样的事情:console.log(arguments)。这将为您指出上述内容。 Step 也会为您正在并行制作动画的每个属性调用,因此您会看到“prop”更改以反映当前的哪个属性。
      猜你喜欢
      • 2010-11-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-06
      • 2017-09-06
      相关资源
      最近更新 更多