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>
效果:
…
作此随笔以便记录、记录
* { touch-action: none }
版权声明:本文为luna666原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。