捕捉Famo.us Scrollview“滚动”事件?

时间:2014-11-30 23:13:31

标签: famo.us

我试图添加一个监听器来在移动设备上滚动Famo.us Scrollview。

通过我可以找到的内容,scrollview的同步会发出startupdateend个事件。但实际上我发现end事件是在touchend上发生的,而不是在滚动视图实际完成给定动量的滚动时。 update touchmove被{{1}}解雇,再次完全无视动量。

如何收听实际滚动?

2 个答案:

答案 0 :(得分:2)

在版本0.3.1 of Famo.us,您可以使用四个事件来跟踪某些滚动。不幸的是,他们可以从他们那里得到什么信息。

活动:

  • pageChange
  • onEdge
  • offEdge
  • 解决

它们将根据滚动视图的选项触发,因此您需要进行测试。这是一些快速测试的代码。

scrollview.on('pageChange', function(event){
  console.log('pageChange',event.direction, event.index);
});
scrollview.on('onEdge', function(){
  console.log('onEdge');
});
scrollview.on('offEdge', function(){
  console.log('offEdge');
});
scrollview.on('settle', function(){
  console.log('settle');
});

答案 1 :(得分:0)

scrollview._scroller.on('update')可以收听,但不保证提供的值是实际的滚动位移,因为scrollview可能决定缩放它们。

然而,这将允许您判断用户是否在滚动;将此与scrollview.getVelocity相结合,您就拥有了所有您需要的东西。