吴达米尔
吴达米尔
  • 发布:2018-04-26 15:10
  • 更新:2018-04-26 15:10
  • 阅读:2987

Webview侧滑菜单

分类:MUI

之前看了下mui的侧滑菜单,发现只有div模式的。然后在社区里找到了webview模式的侧滑菜单,但是不太完美,只可以点击无法拖动。
所以找时间自己完善了一下。稍微测试了一下没有问题,拿过来给大伙分享一波,毕竟经常过来摘果子是时候自己也种一波了! ps:欢迎大家提出宝贵意见,有问题请指出。

                       //初始化侧滑菜单页  
            function initMenuPage() {  
                //设置遮罩避免滑动时被点击  
                menu = mui.preload({  
                    url: "side.html",  
                    id: "side",  
                    styles: {  
                        left: '100%',  
                        width: "80%",  
                        mask: 'rgba(0,0,0,0)'  
                    },  
                    show: {  
                        aniShow: "none"  
                    }  
                });  
                menu.show("none");  
            }  
                        //右滑开启侧滑菜单事件  
            function right_drag_event() {  
                //右滑事件  
                main.drag({  
                    callbackStep: 10,  
                    direction: 'right',  
                    moveMode: 'silent'  
                }, {  
                    view: menu,  
                    moveMode: 'follow'  
                }, function(e, s) {  
                    console.log('right drag event: ' + JSON.stringify(e));  
                    console.log(e.progress);  
                    main.setStyle({  
                        mask: "rgba(0,0,0,0.4)"  
                    });  
                    //                  if(e.type === "start") {  
                    //                        
                    //                  }  
                    if(e.type === "end" && e.progress === "0") {  
                        main.setStyle({  
                            mask: 'none'  
                        });  
                    }  
                    if(e.type === "end" && e.progress === "100") {  
                        menu.setStyle({  
                            mask: 'none'  
                        });  
                        left_drag_event();  
                        //显示关闭侧滑菜单  
                        showMenu = true;  
                    }  
                });  
            }  
                        //左滑隐藏侧滑菜单  
            function left_drag_event() {  
                //打开侧滑菜单后,开启左滑关闭事件  
                main.drag({  
                    direction: 'left',  
                    moveMode: 'followFinger'  
                }, {  
                    view: menu,  
                    moveMode: 'follow'  
                }, function(e) {  
                    console.log('left drag event: ' + JSON.stringify(e));  
                    if(e.type === "end") {  
                        main.setStyle({  
                            mask: "none"  
                        });  
                    }  
                    if(e.type === "end" && e.progress === "100") {  
                        //侧滑菜单关闭后,开启右滑打开事件  
                        close_wmenu(false);  
                        //显示关闭侧滑菜单  
                        showMenu = false;  
                        return;  
                    }  
                });  
                //左滑事件开启时,关闭右滑事件(目前不清楚,禁用右滑的方法)  
                main.drag({  
                    direction: 'right',  
                    moveMode: 'silent'  
                }, {  
                    view: 'newdrag',  
                    moveMode: 'follow'  
                }, function(e) {  
                    console.log('left drag event: ' + JSON.stringify(e));  
                });  
            }

上面的代码就是,webview侧滑菜单的核心部分。其它代码我就不多上传,有需要了解请下载附件。

ps:本文章为作者原创,转载时请著名出处!

4 关注 分享
t***@qq.com hylong C***@163.com 1***@qq.com

要回复文章请先登录注册