zoukankan      html  css  js  c++  java
  • phyTouch.js 跟canvas结合使用

    官方github: https://github.com/AlloyTeam/PhyTouch

    html:

            <div class="touch" style=" 100%;height:100vh;"><canvas style=" 100%;height: 100%;" id="canvas"></canvas></div>

    使用场景比如一镜到底类型的H5,或者其他需要在固定一屏的canvas里展示很长的图片场景,或者需要在Canvas里模拟原生的滚动等等

     var phyTouch = new PhyTouch({
                        touch:".touch",//反馈触摸的dom
                        vertical: false,//不必需,默认是true代表监听竖直方向touch
                        target: { x: 0 }, //运动的对象
                        property: "x",  //被运动的属性
                        sensitivity: 1,//不必需,触摸区域的灵敏度,默认值为1,可以为负数
                        factor: 1,//不必需,表示触摸位移运动位移与被运动属性映射关系,默认值是1
                        moveFactor: 1,//不必需,表示touchmove位移与被运动属性映射关系,默认值是1
                        step: 45,//用于校正到step的整数倍
                        bindSelf: false,
                        maxSpeed: 1.5, //不必需,触摸反馈的最大速度限制 
                        value: 0,
                        
                        touchend:function(){
                            self.isTouch = false
                        },
                        pressMove:function(evt, value){ 
                            //这是监听触摸移动的方法,evt是移动的系数,可以判断方向。value就是移动的距离,跟change的value值是一样的,最大区别是change的值是带滑动惯性的,pressMove的值是不带的,所以要模拟原生滚动最好还是用change
                            
                        },
                       change:function(value){
                  //滑动的逻辑主要写在这里,value值就是在绑定的容器滑动的距离,只要是在容器上滑动了value都会改变,所以只需要将value赋值给canvas里需要滚动的元素
                  //主要问题是边界判断,change里的value是带惯性回弹的,不过惯性有点大,所以我一般会设置1.5秒左右的定时器,手动调用
    phyTouch.stop()停止惯性滑动
                  //如果滚动到了边界我们一般都会让视图停住了,比如滚动到底了,你再怎么滑动,视图都应该停住在最底部了。不过value值实际上是不会停止的,理论你只要滑动它就会改变,所以往回滚动的时候就会发生问题。因此我们在滚动到边界的时候,可以调用一下
    phyTouch.to(value, time, ease)方法,让value值重新跳回到边界的坐标。
     
    
                       },
                    })        
  • 相关阅读:
    [转]oracle 12c 中的分页子句
    display:table; 也可以实现 div 始终和内包的图片大小相同
    mongodb与SQL常见语句对照
    js生成验证码
    javascript 判断空数组
    网络绘制插件
    mongodb中查询返回指定字段
    Mybatis获取插入记录的自增长ID
    mysql 创建索引和删除索引
    Java 中 HashMap 初始化时赋值
  • 原文地址:https://www.cnblogs.com/haqiao/p/15204903.html
Copyright © 2011-2022 走看看