• Web Front-End Developer
  • Javascript触屏手势库-JTouch

    JTouch是针对触屏浏览器提供的一个手势集合。支持现代浏览器以及触屏设置,尚未完成ie10的兼容

  • Javascript触屏手势库-JTouch

    JTouch是针对触屏浏览器提供的一个手势集合。支持现代浏览器以及触屏设置,尚未完成ie10的兼容

  • Javascript触屏手势库-JTouch

    JTouch是针对触屏浏览器提供的一个手势集合。支持现代浏览器以及触屏设置,尚未完成ie10的兼容

  • Javascript触屏手势库-JTouch

    JTouch是针对触屏浏览器提供的一个手势集合。支持现代浏览器以及触屏设置,尚未完成ie10的兼容

  • Javascript触屏手势库-JTouch

    JTouch是针对触屏浏览器提供的一个手势集合。支持现代浏览器以及触屏设置,尚未完成ie10的兼容

  • Javascript触屏手势库-JTouch

    JTouch是针对触屏浏览器提供的一个手势集合。支持现代浏览器以及触屏设置,尚未完成ie10的兼容

  • 前端攻城师
  • Javascript触屏手势库-JTouch

    JTouch是针对触屏浏览器提供的一个手势集合。支持现代浏览器以及触屏设置,尚未完成ie10的兼容

  • Javascript触屏手势库-JTouch

    JTouch是针对触屏浏览器提供的一个手势集合。支持现代浏览器以及触屏设置,尚未完成ie10的兼容

  • Javascript触屏手势库-JTouch

    JTouch是针对触屏浏览器提供的一个手势集合。支持现代浏览器以及触屏设置,尚未完成ie10的兼容

Javascript触屏手势库-JTouch(更新V1.1)

Javascript触屏手势库-jTouch

Javascript触屏手势库-jTouch

触屏手势库--JTouch

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

Github地址:https://github.com/liutian1937/JTouch (大家可以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的示例

http://liutian1937.github.io/JTouch/carousel.html

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

http://liutian1937.github.io/JTouch/touch.html

稍微仿了下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的触控手势