zoukankan      html  css  js  c++  java
  • HTML5 开发APP(头部和底部选项卡)

     我们开发app有一定固定的样式,比如头部和底部选项卡部分就是公共部分就比如我在做的app进来的主页面就像图片显示的那样

    我们该怎么实现呢,实现我们应该建一个主页面index.html,然后建五个子页面,通过mui来实现切换功能。

    在index的html部分写下这样的代码

    <body>
    <header class="mui-bar mui-bar-nav" style="padding-right: 15px;background: #00be68;">

    <h1 class="mui-title" style="color: #FFFFFF;">俺的菜园子</h1>

    </header>
    <nav class="mui-bar mui-bar-tab" href="houye.html">

    <a id="defaultTab" class="mui-tab-item" href="game.html">
    <span class="mui-icon iconfont icon-gamebar"></span>
    <span class="mui-tab-label">我的菜园</span>
    </a>
    <a class="mui-tab-item" href="nongfuZhuanqu.html">
    <span class="mui-icon iconfont icon-special1"></span>
    <span class="mui-tab-label">农夫专区</span>
    </a>
    <a class="mui-tab-item" href="caiYuanShangCheng.html">
    <span class="mui-icon iconfont icon-iconfonticonfonticonfont20"></span>
    <span class="mui-tab-label">菜园 集市</span>
    </a>
    <a class="mui-tab-item" href="shopList.html">
    <span class="mui-icon iconfont icon-shangcheng"></span>
    <span class="mui-tab-label">购物清单</span>
    </a>
    <a class="mui-tab-item" href="geRenZhongXin.html">
    <span class="mui-icon iconfont icon-geren"></span>
    <span class="mui-tab-label">个人中心</span>
    </a>
    </nav>

    </body>

    heard是头部样式,nav是底部样式很明显,注意的是关于图标的问题,通过<span class="mui-icon iconfont icon-shangcheng"></span>加入图标但是mui自带的图标很少是不能满足我们的需要的,我们去官网http://dev.dcloud.net.cn/mui/ui/#icon可以看到

      点开教程根据教程可以很容易的实现拓展图标的功能,简单的说一下教程,就是选择自己要用的图标,下载到本地然后将对应的css和font文件导入到css和font中去就可以使用它生成的图标了。js 部分写如下代码

    var Index=0;
    //把子页的路径写在数组里面
    var subpages = ['game.html','nongfuZhuanqu.html','caiYuanShangCheng.html','shopList.html','geRenZhongXin.html'];
    //所有的plus-*方法写在mui.plusReady中或者后面。
    mui.plusReady(function() {
    //获取当前页面所属的Webview窗口对象
    var self = plus.webview.currentWebview();
    for (var i = 0; i < 5; i++) {
    //创建webview子页
    var sub = plus.webview.create(
    subpages[i], //子页url
    subpages[i], //子页id
    {
    top: '44px',//设置距离顶部的距离
    bottom: '50px'//设置距离底部的距离
    }
    );
    //如不是我们设置的默认的子页则隐藏,否则添加到窗口中
    if (i != Index) {
    sub.hide();
    }
    //将webview对象填充到窗口
    self.append(sub);
    }
    });
    //当前激活选项
    var activeTab = subpages[Index],title=document.querySelector(".mui-title");
    //选项卡点击事件
    mui('.mui-bar-tab').on('tap', 'a', function(e) {

    //获取目标子页的id
    var targetTab = this.getAttribute('href');
    if (targetTab == activeTab) {
    return;
    }
    //更换标题
    title.innerHTML = this.querySelector('.mui-tab-label').innerHTML;
    //显示目标选项卡
    //plus.webview.getWebviewById(targetTab).reload();
    plus.webview.show(targetTab);

    //隐藏当前选项卡
    plus.webview.hide(activeTab);
    //更改当前活跃的选项卡
    activeTab = targetTab;

    });
    window.addEventListener('refresh', function(e){//执行刷新
    location.reload();
    });

    对应字页面分别下

      subpages数组写的是五个子页面的路径。其他都有注释。我们要注意打开页面的位置,和点击事件是tap而不是我们常用的click。另外父页面和子页面都要是新建为含有mui的html页面。这样就写好了一个头部和底部选项卡了,将子页面的内容分别写在5个字页面中,通过点击底部选项卡就可以切换了。

    下一章我会讲一下关于mui和我们平时写前端页面的不同的地方

  • 相关阅读:
    .NET Core 2.0 获取完整的URL
    浅谈实际分辨率与逻辑分辨率实现像素与尺寸的准确转换
    mysql查询当月数据
    Win7无法将图标(Chrome谷歌浏览器更新后无法锁定也适用)锁定到任务栏解决办法
    powerdesigner低版本打开高版本方式为只读导致无法保存PD只读read-only-mode
    Discuz论坛UCenter无法登录问题修复方法完美解决无限刷新问题
    mob免费短信验证码安卓SDK调用方法
    ANDROID_HOME is not set and "android" command not in your PATH解决
    C#注册URL协议,使用浏览器打开本地程序,类似网页上点了QQ交谈打开本地QQ客户端程序
    C#创建服务及使用程序自动安装服务,.NET创建一个即是可执行程序又是Windows服务的exe
  • 原文地址:https://www.cnblogs.com/wangercha/p/7019501.html
Copyright © 2011-2022 走看看