• Hbuilder开发HTML5 APP之侧滑菜单


    1.思路:

             其时有2个WebView,一个main是用来装主页面,一个menu是用来装菜单(为提高性能,菜单项是采用了预加载方式的,预加载时为了避免和主页面争夺资源,采用延时加载,例如:       

    //plusReady事件后,自动创建menu窗口;
    mui.plusReady(function() {
    main = plus.webview.currentWebview();
    //setTimeout的目的是等待窗体动画结束后,再执行create webview操作,避免资源竞争,导致窗口动画不流畅;
    setTimeout(function () {
    //侧滑菜单默认隐藏,这样可以节省内存;
    menu = mui.preload({
    id: 'offcanvas-drag-right-plus-menu',
    url: 'offcanvas-drag-right-plus-menu.html',
    styles: {
        left: 0,
        '70%'
    }
    });
    },300);

    });

    2.    所谓侧滑,就是控制菜单WebView的显示,使用它的left来定位左边位置;

    3.    要打开新的webView,要注意webview的show方法使用:

           void plus.webview.show( id_wvobj, aniShow, duration, showedCB, extras );

           参数含义:(1)是webview对象   (2)动画效果,从没显示过,一般用"none",(3)动画过渡时间 (4)当指定Webview窗口显示动画执行完毕时触发回调函数,窗口无动画效果(如"none"动画效果)时也会触发此回调。(5)传递的参数;

    4.显示的方法:

          (1)按钮点击后,让menu直接show出来,并对main设置样式,比如

    menu.show("none",0,function(){

    main.setStyle({

    left:"70%",
    transition:{
    duration:150
    }
    });
    });

    (2)关闭侧滑菜单,实际就是设置main的样式了,比如:

                main.setStyle({

    left: '0',
    transition: {
    duration: 150
    }
    });

    另外注意窗体切换完成后要关掉menu

    //等窗体动画结束后,隐藏菜单webview,节省资源;
    setTimeout(function() {
    menu.hide();
    }, 200);

    5.被打开的WebView的界面如何控制关闭侧滑菜单:

                (1)先要找到主页面,main = plus.webview.currentWebview().opener();

                (2)激发主页面的某个事件,例如:mui.fire(main,"menu:swipeleft");

  • 相关阅读:
    分享8个超棒的免费高质量图标搜索引擎
    分享25个几何元素在网页设计中的应用案例
    推荐16个国外的源码下载网站
    分享20佳好玩的 jQuery 游戏
    快手基于 Flink 的持续优化与实践
    我的2007
    安装GPhone SDK
    asp.net如何取得纯客户端控件的值
    1111
    .NET与java的MVC模式(2):struts2核心工作流程与原理
  • 原文地址:https://www.cnblogs.com/bearhb/p/5050557.html
Copyright © 2020-2023  润新知