美文网首页
mui侧滑菜单栏

mui侧滑菜单栏

作者: 没有昵_称 | 来源:发表于2017-10-25 16:53 被阅读458次
    • 先创建侧菜单栏页面left.html,
    var _self=null;
    var menu =null;
     var mask=null;
    var _self = null;
    mui.plusReady(function() {
    _self = plus.webview.currentWebview();//获取主页面Webview
     var menu_style = {
          left: "-70%",
        width: '70%',
        render:"always",
        };
     if(mui.os.ios) {
        menu_style.zindex = -1;
       } 
     menu = mui.openWindow({       
        id: 'left',
        url: 'left.html',
        styles: menu_style,
        show: {
            aniShow: 'none'
        },
        waiting: {
            autoShow: false
        }
      });
                
    }
    
    
    • 打开侧滑菜单
    function openMenu() {
        plus.webview.startAnimation({    //窗口组合动画
            'view': _self,      //主页面向右移动页面宽度的百分之70;
            'styles': {
            'fromLeft': '0',
            'toLeft': "70%" 
        },
          'action': 'show'
        }, {
                'view': menu,
            'styles': {      //侧菜单页面向右移动页面宽度的百分之70;
                'fromLeft': "-70%", 
                'toLeft': '0%'
            },
           'action': 'show'
        },
        function(e) {           
            if(e.id == menu.id) { //侧滑菜单打开
                }
        }.bind(this))
        mask.show()  //打开遮罩蒙版
    };
    
    • 关闭侧菜单
    function openMenu() {
        plus.webview.startAnimation({
            'view': _self,
            'styles': {
                        'fromLeft': '0',
                        'toLeft': "70%" 
                 },
            'action': 'show'
        }, {
            'view': menu,
            'styles': {
                    'fromLeft': "-70%",
                    'toLeft': '0%'
                },
                'action': 'show'
        },function(e) {                     
            if(e.id == menu.id) { }
            }.bind(this))
    };
    
    • 点击遮罩蒙版关闭侧滑页面不建议使用mask =mui.createMask(close);建议使用如下方法
     document.addEventListener('tap',function(){
        console.log(parseInt(menu.getStyle().left))
        var _left = parseInt(menu.getStyle().left)
        if(_left>=0){                               
             isthis.close()                                 
        }                               
     },true)
    
    • 主页面右滑打开侧菜单栏
    _self.drag({direction:'right',moveMode:'followFinger'}, {view:menu,moveMode:'follow'}, function(e){
           mask.show()                                                                                              
               if(e.type=="end"){              //右滑处理                                                 
             if(e.id=='main'){
                mask.close();  
            }
                }            
    });
    

    注意右滑时如果没有滑到侧滑菜单页面就终止了右滑操作,页面还是停留在主页面时需要关闭遮罩蒙版

    • 菜单页面左滑关闭侧滑菜单页面
    menu.drag({direction:'left',moveMode:'followFinger'}, {view:_self,moveMode:'follow'}, function(e){                                                    
               mask.show()                                                                                              
               if(e.type=="end"){                                                           
             if(e.id=='main'){
                 mask.close();
             }
                  }                                                     
    });
    
    • drag-设置Webview窗口的滑屏操作手势
     void  wobj.drag(options, otherView, callback); 
    //options  当Webview窗口操作手势配置参数
    //otherView (可选) 操作手势关联的窗口配置参数
    //callback (可选) 滑屏操作回调函数
    

    相关文章

      网友评论

          本文标题:mui侧滑菜单栏

          本文链接:https://www.haomeiwen.com/subject/dtyqpxtx.html