main.html 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169
  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. url: '../warning/warning.html',
  60. id: 'warning'
  61. }, {
  62. url: 'personalinfo.html',
  63. id: 'personalinfo'
  64. }];
  65. var objStyle = {
  66. top: "0px",
  67. bottom: "52px",
  68. };
  69. var self = plus.webview.currentWebview(); //取到当前的主页窗口
  70. var activeTab = '';
  71. // 默认只加载首页webview
  72. var homeWv = plus.webview.create(subInfos[0].url, subInfos[0].id, objStyle);
  73. self.append(homeWv);
  74. activeTab = subInfos[0].id;
  75. // 根据id查询子页面的信息
  76. var getSubInfoById = function(infoList, id) {
  77. var result = null;
  78. for(var i = 0, len = infoList.length; i < len; i++) {
  79. var _info = infoList[i];
  80. if(_info.id === id) {
  81. result = _info;
  82. break;
  83. }
  84. }
  85. return result;
  86. };
  87. //选项卡点击事件
  88. mui(".mui-bar-tab").on("tap", "a", function(e) {
  89. var _self = this;
  90. var targetTab = _self.getAttribute('data-id');
  91. if(targetTab === activeTab) {
  92. return;
  93. }
  94. var _subWv = plus.webview.getWebviewById(targetTab);
  95. // 若webview不存在,则创建;
  96. if(!_subWv) {
  97. var _subInfo = getSubInfoById(subInfos, targetTab);
  98. _subWv = plus.webview.create(_subInfo.url, _subInfo.id, objStyle);
  99. self.append(_subWv);
  100. }
  101. _subWv.show();
  102. // 隐藏之前的webview
  103. plus.webview.getWebviewById(activeTab).hide('none');
  104. activeTab = targetTab;
  105. /**
  106. * 用图片作为图标而不用字体图标。
  107. */
  108. // 获取图标对象
  109. var targetIcon = mui(this.children[0])[0];
  110. //初始化
  111. mui(".mui-bar-tab .mui-tab-item img").each(function(index, item) {
  112. var itemSrc = item.getAttribute("src");
  113. if(itemSrc.indexOf("active")) {
  114. item.src = itemSrc.replace("-active.png", ".png");
  115. }
  116. });
  117. //设置当前的图标
  118. targetIcon.src = targetIcon.getAttribute("src").replace(".png", "-active.png");
  119. });
  120. })
  121. //退出应用
  122. mui.oldback = mui.back;
  123. var clickNum = 0;
  124. mui.back = function(event) {
  125. clickNum++;
  126. if(clickNum > 1) {
  127. plus.runtime.quit();
  128. } else {
  129. mui.toast("再按一次退出应用");
  130. }
  131. setTimeout(function() {
  132. clickNum = 0
  133. }, 1000);
  134. return false;
  135. }
  136. var flag = false;
  137. //创建遮罩蒙板
  138. var mask = mui.createMask(function() {
  139. //设置点击蒙板不会自动消失
  140. //但调用close方法关闭mask时,必须返回true
  141. return flag;
  142. });
  143. //监听自定事件
  144. //打开遮罩蒙板
  145. window.addEventListener("openMask", function(e) {
  146. flag = false;
  147. mask.show(); //显示遮罩
  148. });
  149. //关闭遮罩蒙板
  150. window.addEventListener("closeMask", function(e) {
  151. flag = true;
  152. mask.close();
  153. });
  154. </script>
  155. </body>
  156. </html>