zoukankan      html  css  js  c++  java
  • 移动端触控事件 的安卓,苹果,平板设备检测。

    <!DOCTYPE HTML>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>移动终端</title>
    <script>

    window.onload=function()
    {

    var oDiv=document.getElementById('zgz');
    var startx = 0;
    var starty = 0;
    var endx = 0;
    var endy = 0;
    var movex=0;
    var movey=0;


    function mobile(json){

    document.addEventListener('touchstart',function(event)
    { //触控开始

    startx = event.touches[0].pageX;
    starty = event.touches[0].pageY;

    },false);

    document.addEventListener('touchmove',function(event)
    {
    event.preventDefault();
    movex = event.touches[0].pageX;
    movey = event.touches[0].pageY;

    oDiv.innerHTML=Math.abs(movex-startx)/480

    },false);

    document.addEventListener('touchend',function(event)
    { //触控结束
    endx = event.changedTouches[0].pageX;
    endy = event.changedTouches[0].pageY;

    var deltax = endx - startx;
    var deltay = endy - starty;

    if( Math.abs( deltax ) < 30 && Math.abs( deltay ) < 30 )//当滑动的距离小于30px的时候不做滑动
    return;

    if( Math.abs( deltax ) >= Math.abs( deltay ) )// 当滑动的X轴距离大于,Y轴的滑动距离->则是水平滑动,否则就是垂直滑动
    {

    if( deltax > 0 )//触控结束的X轴坐标大于触控开始的X轴坐标就是向右滑动,否则就是向左滑动
    {
    //move right
    json.right();
    }
    else
    {
    //move left
    json.left();
    }
    }

    else
    {
    if( deltay > 0 )//触控结束的Y轴坐标大于触控开始的Y轴坐标就是向下滑动,否则就是向上滑动(这里要注意移动设备上的Y轴的正坐标是向下的。)
    {
    //move down
    json.down();
    }
    else
    {
    //move up
    json.up();
    }
    }


    },false);
    }

    mobile({

    up:function(){alert('你刚才向上移动了')},

    down:function(){ alert('你刚才向下移动了')},

    left:function(){ alert('你刚才向左移动了')},

    right:function(){alert('你刚才向右移动了')}

    });

    }

    </script>
    </head>

    <body>
    <div id="zgz"></div>

  • 相关阅读:
    C# 中的高性能计时器(Daniel Strigl著,野比译)(转)
    C#中SerialPort类 随笔
    迭代器
    枚举数与可枚举类型(笔记)
    jQuery的关注与学习
    敏捷开发的4句宣言 大数据
    bat脚本
    c++动态库中回调函数使用
    C++中遍历lua table
    vs2010编译release版本却依赖debug版本库msvcrd100.dll
  • 原文地址:https://www.cnblogs.com/Greenzgz/p/4191369.html
Copyright © 2011-2022 走看看