我可以实现拖与HammerJS发布后(以及如何…)?(我将它与AngularJS一起使用,但这并不重要)
我问这个问题的原因是我想实现平滑滚动(就像原生iOS在释放手指后继续滚动)
我相信这是可以做到的,因为在手势事件中有一个速度属性。
我的代码在我的内容上面有一个覆盖的div来检测触摸,然后我在此基础上手动控制下面div的滚动
你只需要在panend上设置你自己的velocity回调。下面的代码应该可以工作(假设使用Hammer v2)
var friction = -0.05;
function panend(evt) {
applyVelocity(evt.velocityY,evt.direction);
}
function applyVelocity(v,dir) {
var dist = v*16;
if(dir===Hammer.DIRECTION_DOWN) {
dist*=-1;
}
//code here to move your elements Y transform
if(v>0) {
v+=friction;
window.requestAnimationFrame(function(){
applyVelocity(v,dir);
});
}
}