使用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>
效果:
...
作此隨筆以便記錄、記錄