zoukankan      html  css  js  c++  java
  • 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();
    }
  • 相关阅读:
    线程安全和非线程安全
    spring MVC和hibernate的结合
    Spring学习笔记1——基础知识 (转)
    bitset && Luogu 3674 小清新人渣的本愿
    luogu P3452 [POI2007]BIU-Offices
    每日刷题记录
    Codeforces Round #721 (Div. 2) B2. Palindrome Game (hard version)
    2019湘潭邀请赛A
    2021CCPC浙江省赛 B
    Codeforces Round #720 (Div. 2) D
  • 原文地址:https://www.cnblogs.com/dawnheaven/p/6247715.html
Copyright © 2011-2022 走看看