Famo.us:我如何以编程方式设置Scrollview的位置动画?

时间:2014-12-03 23:15:50

标签: javascript famo.us

我可以使用myScrollview.setPosition(y)直接设置位置,或使用myScrollview.setVelocity(delta)手动应用动作。但是,有没有办法将平滑,精确的缓和过渡应用到Scrollview的位置?谢谢!

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

这就是我所确定的(可能是更好的方法):

var self = this; // current view object
var transitionTime = 500; //ms

// How far do we need to move every 16.67 ms (1/60th of a second)?
self.animatedScrollDelta = (self.myScrollview.getPosition() / (transitionTime / 16.6667));
self.animatedScroller = Timer.every(animateScrollerCallback, 1);

function animateScrollerCallback()
{
    var pos = self.myScrollview.getPosition() - self.animatedScrollDelta;
    self.myScrollview.setPosition(Math.max(0, pos));

    if(pos < 0)
        Timer.clear(self.animatedScroller);     
}

注意:这会线性动画,这就是我所需要的。我确定可以使用TweenTransition实现其他缓动公式。