V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Vickies
V2EX  ›  前端开发

微信 H5 项目 IOS 可以下拉滑动返回上一页,安卓不行

  •  
  •   Vickies · 283 天前 · 601 次点击
    这是一个创建于 283 天前的主题,其中的信息可能已经有所发展或是发生改变。
    js 代码如下:
    function vueTouch(el, binding, type, vnode){
    this.obj = el;
    this.binding = binding;
    this.touchType = type;
    this.vueTouches = { x: 0, y: 0 };

    this.isMoving = false;
    this.isUseTapTouch = false;
    this.isUseLongTouch = false;

    this.vueCallBack = binding.value;

    this.obj.addEventListener("touchstart", (e) => {
    this.start(e);
    }, false);
    this.obj.addEventListener("touchend", (e) => {
    this.end(e);
    }, false);
    this.obj.addEventListener("touchmove", (e) => {
    this.move(e);
    }, false);
    }
    vueTouch.prototype = {
    start: function(e) {
    this.isMoving = false;
    this.isUseTapTouch = false;
    this.isUseLongTouch = false;
    this.vueTouches = { x: e.changedTouches[0].pageX, y: e.changedTouches[0].pageY };
    },
    end: function(e){
    const disX = e.changedTouches[0].pageX - this.vueTouches.x;
    const disY = e.changedTouches[0].pageY - this.vueTouches.y;

    if(Math.abs(disX) > 10 || Math.abs(disY) > 100){
    this.touchType === "swipe" && this.vueCallBack(e);

    if(Math.abs(disX) > Math.abs(disY)) {
    if(disX > 10) {
    this.touchType === "swiperight" && this.vueCallBack(e);
    }
    if(disX < -10) {
    this.touchType === "swipeleft" && this.vueCallBack(e);
    }
    } else {
    if(disY > 10) {
    this.touchType === "swipedown" && this.vueCallBack(e);
    }
    if(disY < -10) {
    this.touchType === "swipeup" && this.vueCallBack(e);
    }
    }
    }
    },
    move: function(){
    this.isMoving = true;
    },
    };
    export const swipedown = {
    mounted(el, binding, vnode) {
    new vueTouch(el, binding, "swipedown", vnode);
    },
    unmounted(el,binding,vnode) {

    }
    }
    export const swipeup = {
    mounted(el, binding, vnode) {
    new vueTouch(el, binding, "swipeup", vnode);
    },
    unmounted(el,binding,vnode) {

    }
    }
    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2718 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 11:55 · PVG 19:55 · LAX 03:55 · JFK 06:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.