js Touch事件(向左滑动,后退)
js Touch事件(向左滑动,后退)
代码如下
var touch_p = {
c_x : 0,
c_y : 0,
hasbacked : false
};
function touches(ev){
if(ev.touches.length==1){
switch(ev.type){
case 'touchstart':
if(console)
console.log('Touch start('+ev.touches[0].clientX+', '+ev.touches[0].clientY+')');
touch_p.c_x = ev.touches[0].clientX;
touch_p.c_y = ev.touches[0].clientY;
ev.preventDefault();
break;
case 'touchend'://未成功触发,未找到原因
//oDiv.innerHTML='Touch end('+ev.changedTouches[0].clientX+', '+ev.changedTouches[0].clientY+')';
if(console)
console.log('Touch end('+ev.changedTouches[0].clientX+', '+ev.changedTouches[0].clientY+')');
break;
case 'touchmove':
var tempX = ev.changedTouches[0].clientX;
var tempY = ev.changedTouches[0].clientY;
var diff_x = tempX - touch_p.c_x;
var diff_y = Math.abs(tempY - touch_p.c_y);
/*console.log('Touch move('+ev.changedTouches[0].clientX+', '+ev.changedTouches[0].clientY+')<br>diff_x=' + diff_x
+ "<br>diff_y=" + diff_y);*/
//x轴方向移动超过150 纵轴方向移动小于30
if(!touch_p.hasbacked && diff_x > 150 && diff_y < 30){
goback();
}
break;
}
}
}
document.addEventListener('touchstart',touches,false);
document.addEventListener('touchend',touches,false);
document.addEventListener('touchmove',touches,false);
function goback() {
if(console)
console.log("go back");
touch_p.hasbacked = true;
window.history.back();
}
js Touch事件(向左滑动,后退)的更多相关文章
- js移动端向左滑动出现删除按钮
最近在做移动端项目时,需要实现一个列表页面的每一项item向左滑动时出现相应的删除按钮,本来想着直接使用zepto的touch.js插件,因为之前实现相同的功能时用过这个插件,当时还挺好用的,直接使用 ...
- 关于js touch事件 的引用设置
一开始做前端页面的时候,接触的也是js,但是随后便被简单高效的jquery吸引过去,并一直使用至今. 而js,则被我主观的认为底层技术而抛弃. 直到这几天工作需要,研究移动端页面的触屏滑动事件,搜索j ...
- 实现移动端touch事件的横向滑动列表效果
要实现手机端横向滑动效果并不难,了解实现的原理及业务逻辑就很容易实现.原理:touchstart(手指按下瞬间获取相对于页面的位置)——>touchmove(手指移动多少,元素相应移动多少). ...
- 移动端 js touch事件
随着智能手机和平板电脑的普及, 越来越多的人用移动设备浏览网页,我们平时在pc浏览器上用的鼠标事件,比如:click, mouseover等, 已经无法满足移动设备触摸屏的特点,触摸时代的到来,离不开 ...
- 浅谈移动端之touch事件--手指的滑动事件
今天台风‘海马’袭击深圳,全市停工.现分享一篇关于touch的文章,望指教! 原理: 当开始一个touchstart事件的时候,获取此刻手指的横坐标startX和纵坐标startY: 当触发touch ...
- 《移动端浏览器Touch事件判断手指滑动方向方法》
$("body").on("touchstart", function(e) { e.preventDefault(); startX = e. ...
- 移动端之touch事件--手指的滑动事件
转自[B5教程网]:http://www.bcty365.com/content-142-5243-1.html 总结:touchmove的最后坐标减去touchstart的起始坐标.X的结果如果正数 ...
- 移动端touch事件实现页面弹动--小插件
动手之前的打盹 说实话真的是好久没有更新博客了,最近一直赶项目,身心疲惫:最关键的是晚上还要回去上一波王者,实在是忙啊! 这周下来,清闲了些许,或许是因为要到国庆的缘故吧,大家都显得无精打采.俗话说的 ...
- js实现touch移动触屏滑动事件
在开始描述touch事件之前,需要先描述一下多触式系统中特有的touch对象(android和iOS乃至nokia最新的meego系统都模拟了类 似的对象).这个对象封装一次屏幕触摸,一般来自于手指. ...
随机推荐
- WebKit笔记
加载网页时执行javascript代码 let mWebView = WKWebView.init(frame: self.view.bounds) self.view.addSubview(mWeb ...
- 关于Java基本数据类型
Java的基本数据类型分为两大类:boolean类型和数字类型.而数值类型又分为整数类型和浮点类型.而整数类型中的字符类型也可以被单独对待. 总共是4类8种. byte类型整数在内存里占8位. -12 ...
- 世界上最方便的SharePoint移动客户端--Rshare
Rshare我试用了一段时间,同时也测试了其他家产品,使用后的感觉是Rshare无愧于世界上最方面的SharePoint移动客户端. 1.界面设计很方便,设计中充分考虑到移动客户的使用习惯及喜好,设计 ...
- Ehcache - hello world
Key Classes CacheManager The CacheManager class is used to manage caches. Creation of, access to, an ...
- 解决IllegalStateException: Can not perform this action after onSaveInstanceState:
今天做项目中的支付宝功能,是在fragment中做的,在支付成功后,想切换到支付成功的页面. 结果就报错了IllegalStateException: Can not perform this act ...
- asp.net Hierarchical Data
Introduction A Hierarchical Data is a data that is organized in a tree-like structure and structure ...
- Go与GUI——GO语言的图形界面Walk
GO没有原生的界面库,所以不能直接用来写GUI界面.但最近互联网上已经涌现出不少成熟.好用的第三方界面库.使用它们,就同样可以写出同C#.C++的界面.而且效率还更胜一筹. 关于Walk界面库(官方介 ...
- VIM 语法检查
VIM Grammar Check 一.Language Tool Create by Dominique Pellé REFER:LanguageTool wikipedia REFER:Langu ...
- mysql innodb 数据打捞(三)innodb 簇不连接页的扫描提取(计划)
操作系统簇大小一般是4K,而innoDB的页大小一般是16K,那么就有可能16K的页没有存储在连续的簇中,这样扫描软件就不会扫描出来这样的页面.为了解决这个问题,决定给软件增加半页扫描功能. 在第一次 ...
- c++学习笔记1(c++简介)
c++和c的不同: 1,c++是c的扩充. 2,在解决问题时思维方式的不同.(c++采用面向对象思维,c面向结构思维) 面向结构思维:将一个大程序拆分成一个个很小的结构.每个结构完成一个或多个功能,所 ...