博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Javascript触屏手势库-JTouch(更新V1.1)
阅读量:6092 次
发布时间:2019-06-20

本文共 1480 字,大约阅读时间需要 4 分钟。

作者:痞子|时间:2013-05-21| 分类目录:| Tag标签: 、| 阅读(857)

           

Javascript触屏手势库-jTouch

Javascript触屏手势库-jTouch

触屏手势库--JTouch

封装的代码有不足支出,以及bug等欢迎大家多多指正。

Github地址: (大家可以fork项目跟踪最新进展)

JTouch的介绍

JTouch是针对触屏浏览器提供的一个手势集合,由于我的测试环境主要是ipad,所以对于其他触屏设备的支持情况可能会有所不足。这个在后期版本升级过程中会修复。

JTouch在手指移动上去会触发start事件,结束会触发end事件。 主要支持的手势有tap(单击),doubletap(双击),longtap(长按),hold(拖拽),swipe(滑动),flick(轻 拂),pinch(捏合,拉伸),rotate(旋转);除了pinch,rotate手势外,其他手势事件的回调函数都会返回data['fingerNum']值,所以在回调函数中可以根据手指的数量来拼合其他的事件。

其中每个手势事件都会返回响应的回调函数,接受回调函数的参数值一般定义为evt和data,可自行设定。

  • 其中swipe和flip可以返回方向data['direction']以及左右,上下移动的距离data['x'],data['y'],swipe事件结束会返回状态值data['status'] ==  end;
  • pinch会返回type信息,即in和out,来判断向里还是向外压缩或者拉伸;返回data['scale']表示缩放比例;
  • rotate同样会有direction信息来简单判断向左旋转亦或向右旋转,同时返回data['rotation']作为角度信息;
  • 每个手势事件都有相应的event对象返回,其中pinch和rotate返回的与其他的event对象是不同的,这两个返回的是gesturechange的事件对象,(详细信息可以在debug模式下调试查看)

jTouch的使用

  1. 实例化
    var objTouch = document.getElementById('touch');
    var Touches = JTouch(objTouch);
  2. 采用链式写法,

    Touches.on('手势名称',function(evt,data){

    //回调函数部分
    })

  3. 回调函数中返回相应的值

JTouch的示例

触摸平滑移动,其中用到了单独封装的translate插件,时间有限代码略显粗糙,各位看官见谅。

稍微仿了下ipad的界面效果,有太多不足支持。长按可以触发icon抖动,双击空白取消效果,但是取消效果过程会产生抖动,希望哪位高人提点意 见。其中想到了用-webkit-animation-play-state:paused;来实现,但是具体如何让动画停在第一帧不甚了解。

另外做了个简单的图像效果,这个效果的flick效果还没有强化,关于这个效果我感觉我实现的复杂了一些,但是暂时没有想到万全之策,所以里面出现了不少的参数,哪位高人见到可以优化之。大家可以根据这个效果扩展成一个相册效果。具有左右翻的效果。


更新记录:

v1.1更新记录:

命名jTouch -> JTouch实例化不需要new,直接JTouch加入鼠标手势操作,鼠标可以实现tap.doubletap,swipe,hold,flip操作,可以用mousewheel模拟pinch加入init(),destory()功能来实现重置和销毁不足:手头没有win8的平板,暂时没有实现ie10的触控手势

转载地址:http://bumwa.baihongyu.com/

你可能感兴趣的文章
设计模式系列——单例模式
查看>>
简单理解Vue中的nextTick
查看>>
DockerSwarm 集群环境搭建
查看>>
react躺坑记
查看>>
nginx 站点配置 例子
查看>>
SpringJpa分页
查看>>
Kotlin 基础-程序结构(上)
查看>>
微信小程序避坑指南
查看>>
git pull 冲突解决
查看>>
生产级幂等解决方案
查看>>
gradle初识buildscript与allprojects
查看>>
9102 年的 PHP
查看>>
五分钟带你走入MP
查看>>
一个命令完成[打包+同步七牛cdn+上传服务器]
查看>>
动态加载的一些坑
查看>>
javascript之深浅拷贝
查看>>
正则表达式
查看>>
特征值分解和奇异值分解
查看>>
js设计模式--迭代器模式
查看>>
Python操作目录,如:获取当前工作目录,获取执行命令的位置,路径拼接,路径拆分,文件重命名,删除文件,复制文件...
查看>>