zoukankan      html  css  js  c++  java
  • mui底部导航栏切换分页

    使用Hbuilder的mui框架开发移动端非常便利、高效;

    底部导航栏切换功能也是移动APP开发中必须实现的;

    引入mui文件、下面会用到jquery,同时引进

    <link href="css/mui.min.css" rel="stylesheet"/>
    <script type="text/javascript" src="js/jquery.js" ></script>
    <script src="js/mui.min.js"></script>

     html代码:

      <header class="mui-bar mui-bar-nav">
            <a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"></a>
            <h1 class="mui-title">首页</h1>
        </header>
        
        <nav class="mui-bar mui-bar-tab">
            <a href="home.html" class="mui-tab-item mui-active" id="defaultTab">
                <span class="mui-icon mui-icon-home"></span>
                <span class="mui-tab-label">首页</span>
            </a>
            <a href="message.html" class="mui-tab-item">
                <span class="mui-icon mui-icon-home"></span>
                <span class="mui-tab-label">商城</span>
            </a>
            <a href="setting.html" class="mui-tab-item">
                <span class="mui-icon mui-icon-home"><span class="mui-badge">5</span></span>
                <span class="mui-tab-label">购物车</span>
            </a>
        </nav>

    在index的同级目录下创建首页,商城和购物车页面,home.html、message.html、setting.html作为分页;

    js代码:

    <script type="text/javascript">
            
        //启用双击监听
            mui.init({
                gestureConfig:{
                    doubletap:true
                },
                subpages:[{
                    url:'home.html',
                    id:'MainViwe',
                    styles:{
                        top: '30px',
                        bottom: '51px'
                    }
                }]
            });
        
        mui('.mui-scroll-wrapper').scroll({
            deceleration: 0.0005 //flick 减速系数,系数越大,滚动速度越慢,滚动距离越小,默认值0.0006
        });
    
    //底部选项卡切换跳转
    (function jumpPage(){
            //跳转页面
            var subpages = ['home.html','message.html', 'setting.html'];
            var subpage_style = {
                top: '44px',
                bottom: '51px'
            };
            var Index=0;
            var actTab=subpages[Index],
                tittle=document.querySelector('.mui-title');
                
            var aniShow = {};//动画显示
            
            //首次启动切滑效果
                 //当前激活选项
                var activeTab = subpages[0];         
                 //选项卡点击事件
                mui('.mui-bar-tab').on('tap', 'a', function(e) {
                    //修改对应分页
                    var targetTab = this.getAttribute('href');
                    $('#MainViwe').attr('src',targetTab);
                    
                    //修改标题              
                    tittle.innerHTML=this.querySelector('.mui-tab-label').innerHTML;
                });
                 //自定义事件,模拟点击“首页选项卡”
                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>

    切换分页的同时也切换了对应标题

    分页home.html

    <!doctype html>
    <html>
    
        <head>
            <meta charset="UTF-8">
            <title></title>
            <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
            <link href="css/mui.min.css" rel="stylesheet" />
        </head>
    
        <body>
            <div class="mui-content">
                
                <ul class="mui-table-view">
                    <li class="mui-table-view-cell">1</li>
                    <li class="mui-table-view-cell">2</li>
                    <li class="mui-table-view-cell">3</li>
                    <li class="mui-table-view-cell">4</li>
                    <li class="mui-table-view-cell">5</li>
                    <li class="mui-table-view-cell">6</li>
                    <li class="mui-table-view-cell">7</li>
                    <li class="mui-table-view-cell">8</li>
                </ul>
            </div>
            <script src="js/mui.min.js"></script>
            <script type="text/javascript">
                mui.init()
            </script>
        </body>
    </html>

    效果:

     ...

    作此随笔以便记录、记录

  • 相关阅读:
    Linux socket本地进程间通信之TCP
    Linux socket本地进程间通信之UDP
    Linux I/O多路转接之select函数
    静态库和动态库的分析
    点云数据 网络
    maskrcnn-benchmark训练注意事项
    redhat7安装maskrcnn-benchmark注意事项
    特征选择
    docker
    可视化
  • 原文地址:https://www.cnblogs.com/luna666/p/8622425.html
Copyright © 2011-2022 走看看