资讯专栏INFORMATION COLUMN

移动Web触摸与运动解决方案AlloyTouch开源啦

13651657101 / 2771人阅读

摘要:不论实在应用游戏操作系统等许多层面,监听用户触摸,给用户真实的运动反馈是很常见的应用场景。正是为了解决这类问题而生。版本不支持该事件运动结束比如上面是运动的属性,必须要拥有属性才能正常工作。

传送门

Github地址:https://github.com/AlloyTeam/...

简介

AlloyTouch的本质是运动一个数字,把数字的物理变化映射到你想映射的任何属性上。所以带来了广泛的应用场景。不论实在应用、游戏、操作系统等许多层面,监听用户触摸,给用户真实的运动反馈是很常见的应用场景。如王者荣耀里,旋转用户角色,抽奖程序滚动转盘、页面滚动、局部滚动等。

上面的那些场景,都会使用到下面三种过程之一:

触摸、运动、减速、停止

触摸、运动、减速、回弹、停止

触摸、回弹、停止

上面的运动可以是任何形式,如旋转、平移、zoom等运动形式。当然,在上面过程执行的过程中,如果有其他用户交互介入,会停止当前的过程,继而反馈用户新的触摸手势。AlloyTouch正是为了解决这类问题而生。同时做到了:

极小的文件大小(不到300行代码)

与页面布局无关

运动属性无关,能运动对象字量(如{x:100})

渲染无关的设计(dom、canvas、webgl、svg都能使用)

真实的物理运动轨迹

高效的运动方式

极简的API设计

安装
npm install alloytouch
使用姿势
new AlloyTouch({
    touch:"#wrapper",//反馈触摸的dom
    target: target, //运动的对象
    property: "translateY",  //被运动的属性
    min: 100, //不必需,运动属性的最小值,越界会回弹
    max: 2000, //不必需,滚动属性的最大值,越界会回弹
    vertical: true,//不必需,默认是true代表监听竖直方向touch
    sensitivity: 1,//不必需,触摸区域的灵敏度,默认值为1,可以为负数
    factor: 1,//不必需,表示触摸位移与被运动属性映射关系,默认值是1
    step: 45,//不必需,用于校正到step的整数倍
    change:function(){  }, //不必需,属性改变的回调。alloytouch.css版本不支持该事件
    touchStart:function(value){  },
    touchMove:function(value){  },
    touchEnd:function(value){  },
    animationEnd:function(value){  } //运动结束
 })

比如上面是运动target的translateY属性,必须要target拥有translateY属性才能正常工作。
你可以使用transformjs赋予dom的快速tranformation能力。所以一般需要AlloyTouch dom元素的话,可以:

var target = document.querySelector("#scroller");
//给element注入transform属性
Transform(target,true);

new AlloyTouch({
...
...
功能演示

在线Demo

开始AlloyTouch吧

Github地址:https://github.com/AlloyTeam/AlloyTouch
欢迎issues:https://github.com/AlloyTeam/AlloyTouch/issues
我们会在第一时间响应你的意见和建议。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/91257.html

相关文章

  • 一分钟搞定AlloyTouch图片轮播组件

    摘要:所以制作各种各样的轮播组件还是得心应手。第一种轮播图如上图所示。因为初始值是,所有向左边滑动一定是负值。可以得到一定是。可以拿到当前的位置以及当前所处的位置。是运动结束后的回调,用来设置的。 轮播图也涉及到触摸和触摸反馈,同时,AlloyTouch可以把惯性运动打开或者关闭,并且设置min和max为运动区域,超出会自动回弹。除了一般的竖向滚动,AlloyTouch也可以支持横向滚动,甚...

    tanglijun 评论0 收藏0
  • AlloyTouch全屏滚动插件发布--30秒搞定顺滑H5页

    原文链接:https://github.com/AlloyTeam/AlloyTouch/wiki/AlloyTouch-FullPage-Plugin 先验货 showImg(https://segmentfault.com/img/remote/1460000007885626?w=280&h=280); 插件代码可以在这里找到。 注意,虽然是扫码体验,但是AlloyTouch.FullPag...

    _ivan 评论0 收藏0

发表评论

0条评论

13651657101

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<