• Mui 底部导航切换


    1.建好子模板目录

     

    2.导航代码

    <nav class="mui-bar mui-bar-tab">
    <a id="defaultTab" class="mui-tab-item mui-active" href="html/home1.html">
    <span class="mui-icon mui-icon-home"></span>
    <span class="mui-tab-label">
    首页
    </span>
    </a>
    <a class="mui-tab-item" href="html/home2.html">
    <span class="mui-icon mui-icon-list"></span>
    <span class="mui-tab-label" >
    分类
    </span>
    </a>
    <a class="mui-tab-item" href="html/home3.html">
    <span class="mui-icon iconfont icon-cart">
    <span class="mui-badge" id="shopCartCount">2</span>
    </span>
    <span class="mui-tab-label">
    购物车
    </span>
    </a>
    <a class="mui-tab-item" href="html/home4.html">
    <span class="mui-icon mui-icon-person"></span>
    <span class="mui-tab-label" >
    我的
    </span>
    </a>
    </nav>

    3.js代码

    <script>
    mui.plusReady(function() {
    //要切换的子页面
    var subpages=[
    'html/home1.html',
    'html/home2.html',
    'html/home3.html',
    'html/home4.html'];
    //子页面样式,这里只有主页的底部是公用的,所以距离底部51个px,距离顶部0个px
    var subpage_style = {
    top: '0px',
    bottom: '51px'
    };

    var aniShow = {};

    var self = plus.webview.currentWebview();

    for (var i = 1; i < 4; i++) {
    var temp = {};
    var sub = plus.webview.create(subpages[i],subpages[i],subpage_style,{});
    if (i > 0) {
    sub.hide();
    }else{
    temp[subpages[i]] = "true";
    mui.extend(aniShow,temp);
    }
    self.append(sub);
    }
    //当前激活选项
    var activeTab = subpages[0];

    //选项卡点击事件
    mui('.mui-bar-tab').on('tap', 'a', function(e) {
    var targetTab = this.getAttribute('href');
    if (targetTab == activeTab) {
    return;
    }

    //显示目标选项卡
    //若为iOS平台或非首次显示,则直接显示
    if(mui.os.ios||aniShow[targetTab]){
    plus.webview.show(targetTab);
    }else{
    //否则,使用fade-in动画,且保存变量
    var temp = {};
    temp[targetTab] = "true";
    mui.extend(aniShow,temp);
    plus.webview.show(targetTab,"fade-in",300);
    }
    //隐藏当前;
    plus.webview.hide(activeTab);
    //更改当前活跃的选项卡
    activeTab = targetTab;
    });
    //自定义事件,模拟点击“首页选项卡”
    //即一加载的时候就显示默认的子页面,不然在点击选项卡之前,除了底部选项卡是一片空白
    document.addEventListener('gohome', function() {
    var defaultTab = document.getElementById("defaultTab");
    //模拟首页点击
    mui.trigger(defaultTab, 'tap');
    //切换选项卡高亮
    var current = document.querySelector(".mui-bar-tab>.mui-tab-item.mui-active");
    if (defaultTab !== current) {
    current.classList.remove('mui-active');
    defaultTab.classList.add('mui-active');
    }
    });
    });
    </script>

  • 相关阅读:
    SpringBoot-整合Shiro和JWT时关于JWT部分的内容
    springboot常用注解分类整理
    ubuntu18.04 安装tomcat9
    Ubuntu 18.04 安装Tomcat9 遇到的问题Tomcat9 Error: Could not find or load main class org.apache.catalina.startup.Bootstrap
    Ubuntu 18.04 上安装水下网络仿真器Aqua-Sim NG
    用gorm向mysql插入的时间数据和实际时间不一致问题
    Ubuntu18.04上安装NS-3
    Java集合用法
    Spring Boot 自动装配原理
    深入理解select、poll和epoll及区别
  • 原文地址:https://www.cnblogs.com/roseY/p/9338847.html
Copyright © 2020-2023  润新知