APICloud开发之新手上路!原生js简单实现滑动返回

因为Android不支持openWin中的slidBackEnabled:
类型:布尔
默认值:true
描述:(可选项)是否支持滑动返回。iOS7.0及以上系统中,在新打开的页面中向右滑动,可以返回到上一个页面,该字段只 iOS 有效;

所以利用touchstart、touchend事件捕捉用户手势,比较单纯,有更好办法的同志希望能留言指导指导,小生在此谢过!
我的代码:

document.addEventListener('touchstart',function(e){
  _location.startX = e.clientX || e.targetTouches[0].clientX
  _location.startY = e.clientY || e.targetTouches[0].clientY
});
document.addEventListener('touchend',function(e){
  _location.endX = e.clientX || e.changedTouches[0].clientX;
  _location.endY = e.clientY || e.changedTouches[0].clientY;
  if(Math.abs(_location.endY - _location.startY)<= 60 && _location.endX-_location.startX >= 45){     //判断条件  左右滑动距离大于60,上下小于45
    if(_location.startX > 15) return;     //判断条件  开始滑动点击范围距离左边大于15就取消
        var flag = false;
        switch (api.frameName) {   // 判断是否为首页,首页不需要滑动返回
          case 'me-index-frame':
              flag = true;
              break;
          case 'home-index-frame':
                flag = true;
                break;
          case 'college-index-frame':
                flag = true;
                break;
          case 'task-index-frame':
                flag = true;
                break;
          case 'forum-index-frame':
                flag = true;
                break;
          default:
                flag = false;
                break;
        };
        if(flag) return;

        window.leftBtnTap && window.leftBtnTap();   // 返回事件
  }
  _location = {};
})

感谢你的关注!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值