天天看點

詳解MUI頂部頁籤(tab-top-webview-main)的用法

  最近用MUI做手機app的時候,遇到了一點問題。然後就對這個tab-top-webview-main的源碼做了點研究,接下來我将和大家詳解一下

tab-top-webview-main的用法和應該注意的方法。

  接下來先發一個應用的執行個體:

<!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" />             <style type="text/css">                 .d1{                     width: 100%;                     height: 50px;                     text-align: center;                     line-height: 50px;                     background-color: #007AFF;                 }             </style>         </head>         <body>             <div class="d1">我是div1,下面是插入的子頁面</div>  <!--我們将在這個div下邊插入子頁面-->         </body>         <script src="js/mui.min.js"></script>         <script type="text/javascript">             mui.init({                 subpages:[{                //下邊是初始化,然後這個頁面顯示我們将插入的頁面                     url:"tab-top-webview-main.html",                     id:"tab-top-webview-main.html",                     styles:{                         top:"50px",                         bottom:"0px"                     }                 }]             })         </script>     </html>      

  

  然後下邊是我們子頁的代碼:

<!DOCTYPE html>     <html>         <head>             <meta charset="utf-8">             <title>Hello MUI</title>             <meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1,user-scalable=no">             <meta name="apple-mobile-web-app-capable" content="yes">             <meta name="apple-mobile-web-app-status-bar-style" content="black">             <link rel="stylesheet" href="css/mui.min.css">         </head>         <body>             <div class="mui-content">                 <div id="slider" class="mui-slider mui-fullscreen">                     <div id="sliderSegmentedControl" class="mui-scroll-wrapper mui-slider-indicator mui-segmented-control mui-segmented-control-inverted">                         <div class="mui-scroll">                             <a class="mui-control-item mui-active" href="#item1mobile" data-wid="tab-top-subpage-1.html">                                 推薦                             </a>                             <a class="mui-control-item" href="#item2mobile" data-wid="tab-top-subpage-2.html">                                 熱點                             </a>                         </div>                     </div>                 </div>             </div>             <script src="js/mui.min.js"></script>             <script src="js/webviewGroup.js" type="text/javascript" charset="utf-8"></script>             <script>                 mui.init();                 mui.plusReady(function() {                     var group = new webviewGroup("tab-top-webview-main.html", {                         items: [{                             id: "tab-top-subpage-1.html",   //這是子頁1的路徑                             url: "tab-top-subpage-1.html",                             extras: {}                         }, {                             id: "tab-top-subpage-2.html",    //這是子頁2的路徑                             url: "tab-top-subpage-2.html",                             extras: {}                         }],                         onChange: function(obj) {                             var c = document.querySelector(".mui-control-item.mui-active");                             if(c) {                                 c.classList.remove("mui-active");                             }                             document.querySelector(".mui-scroll .mui-control-item:nth-child(" + (parseInt(obj.index) + 1) + ")").classList.add("mui-active");                         }                     });                     mui(".mui-scroll").on("tap", ".mui-control-item", function(e) {                         var wid = this.getAttribute("data-wid");                         group.switchTab(wid);                     });                 });                 mui.back = function() {                     var _self = plus.webview.currentWebview();                     _self.close("auto");                 }             </script>         </body>     </html>      

然後以下就是我們代碼的效果圖:

詳解MUI頂部頁籤(tab-top-webview-main)的用法

  現在我們解釋一下這個代碼,在強調一下該注意的地方。

var group = new webviewGroup("tab-top-webview-main.html", {         items: [{             id: "tab-top-subpage-1.html",   //這是子頁1的路徑             url: "tab-top-subpage-1.html",             extras: {}             }, {                 id: "tab-top-subpage-2.html",    //這是子頁2的路徑                 url: "tab-top-subpage-2.html",                 extras: {}             }]         })      

  1.注意,頁籤超連結a的data-wid=""屬性需要設定為對應子頁頁籤路徑

  2. 這裡,new webviewGroup("tab-top-webview-main.html","")  第一個參數需要傳入一個頁面的id。特别強調,這個頁面id 就是我們包含頂部頁籤的頁面,也就是目前我們這段js所在的頁面,千萬别寫錯了。   ps:很多朋友沒出來結果,私聊問我原因,是以在這裡再強調一下。

  3. items數組中傳入的是子頁對應頁籤該導入的子頁面的id。

  4. 還有,這是MUI,做手機app、手機頁面的,電腦浏覽器對 插入視圖 是不顯示的,是以大家要在手機上測試。   (╥╯^╰╥),好多朋友在電腦上出不來結果,問我原因,在這也一并說了。

   

  注意,這個子頁的插入雖然現實在首頁面,但是他的代碼内容是不屬于首頁面的,在body中無法選中它。