最近用MUI作手機app的時候,遇到了一點問題。而後就對這個tab-top-webview-main的源碼作了點研究,接下來我將和你們詳解一下javascript
tab-top-webview-main的用法和應該注意的方法。css
接下來先發一個應用的實例: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" /> <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>
而後下邊是咱們子頁的代碼:java
<!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>
而後如下就是咱們代碼的效果圖:web
如今咱們解釋一下這個代碼,在強調一下該注意的地方。數組
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:不少朋友沒出來結果,私聊問我緣由,因此在這裏再強調一下。app
3. items數組中傳入的是子頁對應選項卡該導入的子頁面的id。ide
4. 還有,這是MUI,作手機app、手機頁面的,電腦瀏覽器對 插入視圖 是不顯示的,因此你們要在手機上測試。 (╥╯^╰╥),好多朋友在電腦上出不來結果,問我緣由,在這也一併說了。測試
注意,這個子頁的插入雖然現實在主頁面,可是他的代碼內容是不屬於主頁面的,在body中沒法選中它。