HammerJS连续拖动(释放后拖动)



我可以实现拖与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);
            });
        }
    }

最新更新