html页面的轮播图与手机原生滑动冲突解决

之前开发app的时候,遇到了这样一个问题,app中的首页有一个导航栏,这里要求可以滑动,因此这一块由原生去做,但是其他部分则是由后h5前端实现,因为该页面就造成了原生,h5混合的情况。而这个页面又包含了轮播图,因为也涉及到滑动。原生在这个页面阻止的滑动事件,导致出现轮播图无法手动滑动的问题。经过跟安卓端开发人员沟通了解后,采用了以下的解决方案进行进行修复:

$('.w').on('touchstart touchend' ,function(event) {

    bindEvent();

});

//touchstart事件

function touchSatrtFunc(evt) {

    var mTop =$('.shop-index-active')[0].offsetTop;

    try {

        //evt.preventDefault(); //阻止触摸时浏览器的缩放、滚动条滚动等

        var touch = evt.touches[0];//获取第一个触点

        var x = Number(touch.pageX);//页面触点X坐标

        var y = Number(touch.pageY);//页面触点Y坐标

        //记录触点初始位置

        startX =x;

        startY =y;

        if (y -mTop >0) {

            Bridge.run('jsSetDisallowWebViewInterceptTouchEvent',{

                request:'false'

            });

        }else {

            Bridge.run('jsSetDisallowWebViewInterceptTouchEvent',{

                request:'true'

            });

        }

    }catch (e) {

        alert('touchSatrtFunc:' + e.message);

    }

}


function touchMoveFunc(evt) {

try {

//evt.preventDefault(); //阻止触摸时浏览器的缩放、滚动条滚动等

        var touch = evt.touches[0];//获取第一个触点

        var x = Number(touch.pageX);//页面触点X坐标

        var y = Number(touch.pageY);//页面触点Y坐标

    }catch (e) {

alert('touchMoveFunc:' + e.message);

}

}

//touchend事件

function touchEndFunc(evt) {

    try {

        //evt.preventDefault(); //阻止触摸时浏览器的缩放、滚动条滚动等

    }catch (e) {

        alert('touchEndFunc:' + e.message);

    }

}

//绑定事件

function bindEvent() {

    document.addEventListener('touchstart',touchSatrtFunc,false);

    document.addEventListener('touchmove',touchMoveFunc,false);

    document.addEventListener('touchend',touchEndFunc,false);

}

以上代码的思路就是:通过检测手指触摸的位置判断原生是否禁用滑动。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • var startX = 0, startY = 0, operate = 0; backDom.addE...
    凡凡的小web阅读 11,393评论 0 0
  • H5页面窗口自动调整到设备宽度,并禁止用户缩放页面//一、HTML页面结构 // width 设置viewp...
    tiandashu阅读 16,815评论 0 9
  • Meta 基础知识: H5 页面窗口自动调整到设备宽度,并禁止用户缩放页面。 空白页基本 meta 标签 其他 m...
    Dimen_阅读 4,603评论 2 4
  • 我还是会想起你,在冬日温暖黑暗的夜里。坐在床上,铺着棉绸被单的单人床紧紧的靠着老旧的暖气,腿贴上去都是一阵阵的熨...
    路长长阅读 1,706评论 0 0
  • 可怕的不是睡不着,而是习惯性拖延不想睡的心理。连续三天晚上一晚上没睡了,如果说前两天周末,可以日夜颠倒,那今天呢?...
    核桃人阅读 2,586评论 0 1

友情链接更多精彩内容