首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何停止移动旅行的触点滚动?

问如何停止移动旅行的触点滚动?
EN

Stack Overflow用户
提问于 2013-01-21 01:10:48
回答 1查看 1.2K关注 0票数 1

我试图在一个web应用程序上实现这种操作,它包括一个视图的“马赛克”,总共有6列6行的视图。导航在桌面浏览器上工作得很好,但是使用Mobile会变得很困难。

这就是我想要得到的行动:

用户滑动(快速) ->页面上/下/左/右移动一个视图 用户触摸和拖拽->页面跟随手指用户提起手指(触点) ->惯性滚动停止,页面移动一个视图上/下/左/右

目前,我使用的是Hammer.js,它的prevent_default -setting工作得很好,但拖放时内容不跟随手指。

用代码在拖动事件上移动页面,还是试图劫持触摸屏上的滚动,哪个更容易/更好?

EN

回答 1

Stack Overflow用户

发布于 2013-02-15 19:55:52

你在正确的轨道上!我爱hammer.js。如果您希望页面与用户手指一起移动,我将使用代码在拖动事件上移动页面。例如,您可以这样做:

代码语言:javascript
复制
hammer.bind('drag', function(ev) {
    x = ev.position.x;
    y = ev.position.y;
    mosaic.style.webkitTransform = 'translate3d('+(x) +'px, '+(y) + 'px, 1px)';

“马赛克”是装瓷砖的容器。棘手的部分是确定哪个图像,然后“快照”到。也许您还可以使用jQuery .offset()来确定触弦和马赛克之间的关系?

查看Hammer.js的最新版本以获得一些额外的帮助。您现在也可以评估:

代码语言:javascript
复制
center      {Object}        center position of the touches. contains pageX and pageY
deltaTime   {Number}        the total time of the touches in the screen
deltaX      {Number}        the delta on x axis we haved moved
deltaY      {Number}        the delta on y axis we haved moved
velocityX   {Number}        the velocity on the x
velocityY   {Number}        the velocity on y
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14431237

复制
相关文章

相似问题

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