我有一个垂直的推荐带,我有这种方法,每隔几秒就会用一个计算值(取决于当前推荐的高度)为其 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
方法的参数中获取哪些信息?最佳答案
看起来“this”符号将是调用 animate 的元素。回调的第一个参数看起来像在此步骤中设置动画的属性值。第二个参数是一个如下所示的对象:
- elem:元素 animate 被调用
- end:(猜测)动画完成时属性的值
- now:(猜)这一步属性的值
- options:您传递给 animate 的原始选项。
- pos:(猜测)某物的位置
- prop:(猜测)此步骤中作用的属性。如果有多个属性更改,则每个属性可能都有一个步骤。
- start:(猜测)动画开始时的属性值
- startTime:(猜测)动画开始的时间(以毫秒为单位)。
- state:一个从 0 到 1 的 float ,指示动画完成的程度。
- 单位:属性值的单位(例如“px”)。
关于javascript - 在每个步骤中,我可以从 jQuery 的动画步骤方法中获得什么信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3258830/