7***@qq.com
7***@qq.com
  • 发布:2016-07-20 11:28
  • 更新:2016-07-21 09:15
  • 阅读:1565

关于多个webview左右拖动侧滑问题。

分类:HTML5+

背景:

1、共有10个webview页面,利用hide和show,左右拖动切换。
2、由于swiperight手势体验不好,经常失效,所以改用了dragright或dragleft。

疑难:
1、拖动事件经常重复执行,已经在代码中加了过滤,但还是会出现重复执行。
2、切换页面时每次都会有其中几页的拖动失效,就是不起作用了。有时候第5页,有时候第6页,这个随机的。

代码:
1、主页面切换部分代码

function showpage(pagenumber,source){  
                if(fzSlideing == 1){  
                    return false;  
                }  
                if(pagenumber > 10 || pagenumber == 0){  
                    return false;  
                }  

                fzSlideing = 1;  
                var sourcepage = 'pg'+source+'_sub.html';  
                activeTab = 'pg'+pagenumber+'_sub.html';  

                if(pagenumber > source){  
                    plus.webview.hide(sourcepage,"slide-out-left",250,plus.webview.show(activeTab,"slide-in-right",600));  

                }  
                if(pagenumber < source){  
                    plus.webview.hide(sourcepage,"slide-out-right",250,plus.webview.show(activeTab,"slide-in-left",600));  

                }  
                setTimeout(function () {  
                    fzSlideing = 0;  
                }, 600);  
            }

2、子页面部分代码:

mui.init({  
        swipeBack: false,  
        keyEventBind: {  
            backbutton: false  
        }  
    });  

    var srcpage = 1;  //当前页数   (10个页面的代码都是一样的,除了这个变量)  
    var leftpage = srcpage - 1;    //左边页数  
    var rightpage = srcpage + 1;   //右边页数  

    window.addEventListener('dragright', function(e) {  
        plus.nativeUI.toast(leftpage+" "+srcpage);  
        var mp = plus.webview.getLaunchWebview();  
        mp.evalJS("showpage("+leftpage+","+srcpage+")");  
    });  
    window.addEventListener('dragleft', function(e) {  
        plus.nativeUI.toast(rightpage+" "+srcpage);  
        var mp = plus.webview.getLaunchWebview();  
        mp.evalJS("showpage("+rightpage+","+srcpage+")");  
    });
2016-07-20 11:28 负责人:无 分享
已邀请:
赵梦欢

赵梦欢 - 专注前端,乐于分享!

建议你把上面的时间调整一下,个人觉得那个时间可能有点长

  • 7***@qq.com (作者)

    很奇怪,我将10个子页面减少到7个子页面就完全没有问题了,各种顺畅。 这究竟是什么原因造成的呢? webview过多?

    2016-07-20 16:08

7***@qq.com

7***@qq.com (作者)

另外manifest.json配置里面,
入口文件的同时有mui.js和mui.min.js,这样是否重复?

"main.html": {
"resources": [
"css/override.css",
"js/mui.min.js",
"css/app.css",
"fonts/mui.ttf",
"css/mui.css",
"js/immersed.js",
"pullrefresh_sub.html",
"peopleservices.html",
"js/mui.js"
],

  • 赵梦欢

    不要同时引用

    2016-07-20 17:27

clytze

clytze

请问你的事webview模式的选项卡左右滑动吗?

  • 7***@qq.com (作者)

    是的,包括子页面滑动。

    2016-07-22 10:59

该问题目前已经被锁定, 无法添加新回复