首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Hammertime垂直滚动不工作

Hammertime垂直滚动不工作
EN

Stack Overflow用户
提问于 2016-11-07 10:18:42
回答 1查看 2.1K关注 0票数 1

我正在使用Hammerjs/Hammertime

要在移动平台上实现一个滑动功能,并且似乎无法让它与垂直滚动一起工作。当我水平滑动的时候工作的很好。这是我的代码:

代码语言:javascript
运行
复制
          var resim = jQuery(".perks-carousel-cont li");

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

我相信Hammertime (它添加到锤子js上)没有启用垂直滚动,只是水平滚动。在研究这个问题之后,下面的代码行应该修复它:

代码语言:javascript
运行
复制
hammertime.get('swipe').set({ direction: Hammer.DIRECTION_VERTICAL });

当我实现这个困难时,我得到了一个hammertime未定义的控制台错误。为了按照他们的文档定义Hammerstime,我尝试在没有选项参数的情况下添加它:

代码语言:javascript
运行
复制
var hammertime = new Hammer(resim);

但是我得到了一个错误:

Uncaught : a.addEventListener不是函数

不知道我哪里出了问题..。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-16 16:11:19

滑动手势识别器使锤子将touch-action: pan-y css属性应用到DOM节点its,

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

要解决这个问题,只需在hammer的选项{touchAction: 'auto'}中指定,而不使用jQuery,如下所示:

代码语言:javascript
运行
复制
var hammertime = new Hammer(domElement, {touchAction: 'auto'});

hammertime.on('swipe', function(ev) {
    var targetLi = this;
    animateLisMob(targetLi);
});
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40462721

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档