JS手机端touch事件计算滑动距离的方法示例


Posted in Javascript onOctober 26, 2017

本文实例讲述了JS手机端touch事件计算滑动距离的方法。分享给大家供大家参考,具体如下:

计算手势在手机屏幕上滑动时,手势滑动的距离,代码如下:

function wetherScroll(){
    var startX = startY = endX =endY =0;
    var body=document.getElementsByTagName("body");
    body.bind('touchstart',function(event){
      var touch = event.targetTouches[0];
      //滑动起点的坐标
      startX = touch.pageX;
      startY = touch.pageY;
      // console.log("startX:"+startX+","+"startY:"+startY);
    });
    body.bind("touchmove",function(event){
      var touch = event.targetTouches[0];
      //手势滑动时,手势坐标不断变化,取最后一点的坐标为最终的终点坐标
        endX = touch.pageX;
        endY = touch.pageY;
        // console.log("endX:"+endX+","+"endY:"+endY);
    })
    body.bind("touchend",function(event){
      var distanceX=endX-startX,
        distanceY=endY - startY;
        // console.log("distanceX:"+distanceX+","+"distanceY:"+distanceY);
        //移动端设备的屏幕宽度
        var clientHeight; =document.documentElement.clientHeight;
        // console.log(clientHeight;*0.2);
        //判断是否滑动了,而不是屏幕上单击了
        if(startY!=Math.abs(distanceY)){
 //在滑动的距离超过屏幕高度的20%时,做某种操作
          if(Math.abs(distanceY)>clientHeight*0.2){
 //向下滑实行函数someAction1,向上滑实行函数someAction2
          distanceY <0 ? someAction1():someAction2();
        }
        }
        startX = startY = endX =endY =0;
    })
}

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
JavaScript 异步方法队列链实现代码分析
Jun 05 Javascript
高亮显示web页表格行的javascript代码
Nov 19 Javascript
100个不能错过的实用JS自定义函数
Mar 05 Javascript
node.js中的http.response.write方法使用说明
Dec 14 Javascript
JS实现黑色风格的网页TAB选项卡效果代码
Oct 09 Javascript
全面解析Bootstrap中transition、affix的使用方法
May 30 Javascript
JS实现一次性弹窗的方法【刷新后不弹出】
Dec 26 Javascript
如何理解Vue的.sync修饰符的使用
Aug 17 Javascript
详谈构造函数加括号与不加括号的区别
Oct 26 Javascript
jquery ajax 请求小技巧实例分析
Nov 11 jQuery
JS中多层次排序算法的实现代码
Jan 06 Javascript
vue实现滑动解锁功能
Mar 03 Vue.js
JavaScript实现二叉树的先序、中序及后序遍历方法详解
Oct 26 #Javascript
JavaScript实现树的遍历算法示例【广度优先与深度优先】
Oct 26 #Javascript
详述 Sublime Text 打开 GBK 格式中文乱码的解决方法
Oct 26 #Javascript
node.js的exports、module.exports与ES6的export、export default深入详解
Oct 26 #Javascript
详解Webstorm 新建.vue文件支持高亮vue语法和es6语法
Oct 26 #Javascript
Node.js中环境变量process.env的一些事详解
Oct 26 #Javascript
Sublime Text新建.vue模板并高亮(图文教程)
Oct 26 #Javascript
You might like
vBulletin HACK----关于排版的两个HACK
2006/10/09 PHP
PHP3 safe_mode 失效漏洞
2006/10/09 PHP
8个必备的PHP功能开发
2015/10/02 PHP
Yii2 输出xml格式数据的方法
2016/05/03 PHP
Eclipse PHPEclipse 配置的具体步骤
2017/08/08 PHP
拖动一个HTML元素
2006/12/22 Javascript
nodejs教程 安装express及配置app.js文件的详细步骤
2013/05/11 NodeJs
javascript实现简单的html5视频播放器
2015/05/06 Javascript
AngularJS入门教程之路由与多视图详解
2016/08/19 Javascript
jQuery实现输入框邮箱内容自动补全与上下翻动显示效果【附demo源码下载】
2016/09/20 Javascript
基于Vue如何封装分页组件
2016/12/16 Javascript
利用JS实现简单的日期选择插件
2017/01/23 Javascript
jquery实现tab键进行选择后enter键触发click行为
2017/03/29 jQuery
js模仿微信朋友圈计算时间显示几天/几小时/几分钟/几秒之前
2017/04/27 Javascript
Angularjs 实现动态添加控件功能
2017/05/25 Javascript
小程序scroll-view安卓机隐藏横向滚动条的实现详解
2019/05/16 Javascript
详解Vue中的Props与Data细微差别
2020/03/02 Javascript
使用 UniApp 实现小程序的微信登录功能
2020/06/09 Javascript
jQuery实现异步上传一个或多个文件
2020/08/17 jQuery
[45:52]完美世界DOTA2联赛PWL S3 Forest vs INK ICE 第二场 12.09
2020/12/12 DOTA
Python求解平方根的方法
2015/03/11 Python
djang常用查询SQL语句的使用代码
2019/02/15 Python
Python之数据序列化(json、pickle、shelve)详解
2019/08/30 Python
Win10+GPU版Pytorch1.1安装的安装步骤
2019/09/27 Python
python list多级排序知识点总结
2019/10/23 Python
线程安全及Python中的GIL原理分析
2019/10/29 Python
Python requests获取网页常用方法解析
2020/02/20 Python
python实现梯度下降算法的实例详解
2020/08/17 Python
Clarks鞋法国官方网站:英国其乐鞋品牌
2018/02/11 全球购物
2014幼儿园小班工作总结
2014/11/10 职场文书
经理聘任证明
2015/03/02 职场文书
2015年端午节活动方案
2015/05/05 职场文书
2015军训通讯稿大全
2015/07/18 职场文书
教师节祝酒词
2015/08/11 职场文书
Python机器学习之基于Pytorch实现猫狗分类
2021/06/08 Python
python实现简单的聊天小程序
2021/07/07 Python