随身笔记
随身笔记

js 百度手机手势监控

百度 手机 js touch 手势 拖拽 思路

详细文档:http://cloudajs.org/docs/step4_API_Documentation#h2_7

baidu_ico

百度touch.js手机监听事件分类:

缩放、 旋转、 滑动、 拖动开始 、拖动 、拖动结束、 长按、 敲击。

其中类中还详细分不同的触发事件。

 

//第一次拖拽

var dx, dy;
touch.on('#target', 'drag', function(ev){
  dx = dx||0; //第一次拖拽dx是没有值的所以dx=0,等第一次拖拽完了之后在拖拽第二次dx的值就记录了 dragend 中的dx的值
  dy = dy|| 0;
  console.log('开始拖拽记录上次位置:'+dx+'---'+dy);

this.style.webkitTransform = "translate3d(" + (dx+ev.x)+'px' + "," + (dy+ev.y)+'px' + ",0)"; //第一次拖拽X轴的值是0+ev.x

});

touch.on('#target', 'dragend', function(ev){ //第一次停止拖拽时候dx是0的
  dx = dx+ev.x; //第一次拖拽停止dx的值是0的 也就是0+第一次当前拖拽的值
  dy = dy+ev.y;
  console.log('结束记录位置:'+dx+'---'+dy);
  //log("当前x值为:" + dx + ", 当前y值为:" + dy +".");
});



//第二次开始拖拽

// dx = dx||0; 第二次开始拖拽dx有值了就是第一次开始拖拽保留的临时值0+ev.x的值

// this.style.webkitTransform = "translate3d(" + (dx+ev.x)+'px' + "," + (dy+ev.y)+'px' + ",0)";
// 第二次拖拽当然是在第一停止的位置开始拖拽了所以是 第一拖拽停止所在位置的值+当前正在拖拽的值

// dx = dx+ev.x; //第二次结束要保留第二所停留的位置 第一次停止位置+当前拖拽的值

// 这里的难点就是 临时变量的定义的技巧 dx = dx||0 ;

 

 

支持的手势事件类型:

分类 参数 描述
缩放 pinchstart 缩放手势起点
pinchend 缩放手势终点
pinch 缩放手势
pinchin 收缩
pinchout 放大
旋转 rotateleft 向左旋转
rotateright 向右旋转
rotate 旋转
滑动 swipestart 滑动手势起点
swiping 滑动中
swipeend 滑动手势终点
swipeleft 向左滑动
swiperight 向右滑动
swipeup 向上滑动
swipedown 向下滑动
swipe 滑动
拖动开始 dragstart 拖动屏幕
拖动 drag 拖动手势
拖动结束 dragend 拖动屏幕
拖动 drag 拖动手势
长按 hold 长按屏幕
敲击 tap 单击屏幕
doubletap 双击屏幕

 

 

案例:http://touch.code.baidu.com/examples.html

本站实例:https://sdeno.com/zp/baidutouch/

结合百度插件案例:《基于百度手势插件实现手机幻灯片效果

随身笔记

js 百度手机手势监控
百度 手机 js touch 手势 拖拽 思路 详细文档:http://cloudajs.org/docs/step4_API_Documentation#h2_7 百度touch.js手机监听事件分类: 缩放、 旋转、 滑动、 拖动开始 、…
扫描二维码继续阅读
2015-05-26