【问题标题】:Hammertime vertical scroll not workingHammertime垂直滚动不起作用
【发布时间】:2016-11-07 10:18:42
【问题描述】:

我正在使用Hammerjs/Hammertime

在移动设备上实现滑动功能,但似乎无法使其与垂直滚动一起使用。当我水平滑动时工作正常。这是我的代码:

          var resim = jQuery(".perks-carousel-cont li");

            resim.hammer().on("swipe", function(ev) {
                var targetLi = this;
                animateLisMob(targetLi);
            });

我相信 Hammertime(它添加到hammer js)没有启用垂直滚动,只是水平滚动。在查看问题后,以下代码行应该可以解决它:

hammertime.get('swipe').set({ direction: Hammer.DIRECTION_VERTICAL });

当我实现这个艰难的时候,我得到了一个hammertime is not defined console 错误。为了根据他们的文档定义 Hammerstime,我尝试在没有选项参数的情况下添加它:

var hammertime = new Hammer(resim);

然后我得到一个错误:

未捕获的类型错误:a.addEventListener 不是函数

不知道我哪里出错了..

【问题讨论】:

    标签: javascript mobile hammer.js


    【解决方案1】:

    滑动手势识别器使锤子将touch-action: pan-y css 属性应用于其所在的 DOM 节点,

    这基本上告诉浏览器忽略所有垂直手势并且您不会获得垂直滚动。

    要解决这个问题,只需在锤子的选项{touchAction: 'auto'} 中指定, 如果没有 jQuery,它看起来像这样:

    var hammertime = new Hammer(domElement, {touchAction: 'auto'});
    
    hammertime.on('swipe', function(ev) {
        var targetLi = this;
        animateLisMob(targetLi);
    });
    

    【讨论】:

      猜你喜欢
      • 2012-06-21
      • 2017-02-08
      • 1970-01-01
      • 2016-12-20
      • 2018-09-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多