main.html 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171
  1. <!doctype html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title></title>
  6. <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
  7. <link href="../css/mui.min.css" rel="stylesheet" />
  8. <style type="text/css">
  9. .mui-bar{
  10. background: #fff;
  11. touch-action: none;
  12. }
  13. /*.mui-bar {
  14. -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0.6);
  15. box-shadow: 0 0 1px rgba(0, 0, 0, 0.6);
  16. padding-top: 6px;
  17. }*/
  18. </style>
  19. </head>
  20. <body>
  21. <nav class="mui-bar mui-bar-tab">
  22. <a class="mui-tab-item mui-active" data-id="home">
  23. <img class="mui-icon" src="../images/home-active.png" />
  24. <span class="mui-tab-label">首页</span>
  25. </a>
  26. <a class="mui-tab-item" data-id="equip">
  27. <img class="mui-icon" src="../images/equip.png" />
  28. <span class="mui-tab-label">设备</span>
  29. </a>
  30. <!--<a class="mui-tab-item" data-id="warning">
  31. <img class="mui-icon" src="../images/warning.png" />
  32. <span class="mui-tab-label">预警</span>
  33. </a>-->
  34. <a class="mui-tab-item" data-id="personalinfo">
  35. <img class="mui-icon" src="../images/my.png" />
  36. <span class="mui-tab-label">我的</span>
  37. </a>
  38. </nav>
  39. <div class="mui-content">
  40. </div>
  41. <script src="../js/mui.min.js"></script>
  42. <script type="text/javascript">
  43. mui.init();
  44. mui.plusReady(function() {
  45. //关闭等待框
  46. plus.nativeUI.closeWaiting();
  47. //显示当前页面
  48. mui.currentWebview.show();
  49. plus.webview.hide('login');
  50. plus.webview.close('login');
  51. //预加载页面
  52. var subInfos = [{
  53. url: 'homePage.html',
  54. id: 'home'
  55. }, {
  56. url: 'equip.html',
  57. id: 'equip',
  58. },
  59. // {
  60. // url: '../warning/warning.html',
  61. // id: 'warning'
  62. // },
  63. {
  64. url: 'personalinfo.html',
  65. id: 'personalinfo'
  66. }];
  67. var objStyle = {
  68. top: "0px",
  69. bottom: "52px",
  70. };
  71. var self = plus.webview.currentWebview(); //取到当前的主页窗口
  72. var activeTab = '';
  73. // 默认只加载首页webview
  74. var homeWv = plus.webview.create(subInfos[0].url, subInfos[0].id, objStyle);
  75. self.append(homeWv);
  76. activeTab = subInfos[0].id;
  77. // 根据id查询子页面的信息
  78. var getSubInfoById = function(infoList, id) {
  79. var result = null;
  80. for(var i = 0, len = infoList.length; i < len; i++) {
  81. var _info = infoList[i];
  82. if(_info.id === id) {
  83. result = _info;
  84. break;
  85. }
  86. }
  87. return result;
  88. };
  89. //选项卡点击事件
  90. mui(".mui-bar-tab").on("tap", "a", function(e) {
  91. var _self = this;
  92. var targetTab = _self.getAttribute('data-id');
  93. if(targetTab === activeTab) {
  94. return;
  95. }
  96. var _subWv = plus.webview.getWebviewById(targetTab);
  97. // 若webview不存在,则创建;
  98. if(!_subWv) {
  99. var _subInfo = getSubInfoById(subInfos, targetTab);
  100. _subWv = plus.webview.create(_subInfo.url, _subInfo.id, objStyle);
  101. self.append(_subWv);
  102. }
  103. _subWv.show();
  104. // 隐藏之前的webview
  105. plus.webview.getWebviewById(activeTab).hide('none');
  106. activeTab = targetTab;
  107. /**
  108. * 用图片作为图标而不用字体图标。
  109. */
  110. // 获取图标对象
  111. var targetIcon = mui(this.children[0])[0];
  112. //初始化
  113. mui(".mui-bar-tab .mui-tab-item img").each(function(index, item) {
  114. var itemSrc = item.getAttribute("src");
  115. if(itemSrc.indexOf("active")) {
  116. item.src = itemSrc.replace("-active.png", ".png");
  117. }
  118. });
  119. //设置当前的图标
  120. targetIcon.src = targetIcon.getAttribute("src").replace(".png", "-active.png");
  121. });
  122. })
  123. //退出应用
  124. mui.oldback = mui.back;
  125. var clickNum = 0;
  126. mui.back = function(event) {
  127. clickNum++;
  128. if(clickNum > 1) {
  129. plus.runtime.quit();
  130. } else {
  131. mui.toast("再按一次退出应用");
  132. }
  133. setTimeout(function() {
  134. clickNum = 0
  135. }, 1000);
  136. return false;
  137. }
  138. var flag = false;
  139. //创建遮罩蒙板
  140. var mask = mui.createMask(function() {
  141. //设置点击蒙板不会自动消失
  142. //但调用close方法关闭mask时,必须返回true
  143. return flag;
  144. });
  145. //监听自定事件
  146. //打开遮罩蒙板
  147. window.addEventListener("openMask", function(e) {
  148. flag = false;
  149. mask.show(); //显示遮罩
  150. });
  151. //关闭遮罩蒙板
  152. window.addEventListener("closeMask", function(e) {
  153. flag = true;
  154. mask.close();
  155. });
  156. </script>
  157. </body>
  158. </html>