main.html 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234
  1. <!doctype html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>框架页</title>
  6. <meta name="viewport"
  7. content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
  8. <!-- 引入mui样式 -->
  9. <link href="css/mui.css" rel="stylesheet" />
  10. <!-- 引入app通用补充样式 -->
  11. <link rel="stylesheet" href="css/app.new.css">
  12. <!-- 引入字体 -->
  13. <link rel="stylesheet" href="fonts/font-jt.css">
  14. <!-- 本页独有样式 -->
  15. <style type="text/css">
  16. /* tab中img中normal样式 */
  17. .cr-tab-img {
  18. width: 20px;
  19. height: 20px !important;
  20. margin-top: 4px;
  21. }
  22. /* tab中标签中normal样式 */
  23. .cr-tab-label {
  24. font-size: 14px;
  25. color: rgb(255, 255, 255) !important;
  26. }
  27. .mui-tab-item {
  28. height: 51px !important;
  29. }
  30. /* tabItem小标签样式 */
  31. .cr-badge {
  32. position: absolute;
  33. }
  34. /* tabItem激活文字标签样式 */
  35. .cr-active {
  36. color: rgb(0, 255, 255) !important;
  37. font-weight: bold;
  38. }
  39. /* 底部导航栏样式修正 */
  40. .mui-bar-tab {
  41. /* border-top: 5px solid rgba(200, 200, 200, 1) !important; */
  42. border-top: 1px solid rgba(72, 122, 194, 1) !important;
  43. box-shadow: none !important;
  44. background-color: rgb(36, 63, 109) !important;
  45. }
  46. </style>
  47. </head>
  48. <body style="background-color: aqua;">
  49. <nav class="mui-bar mui-bar-tab">
  50. <a class="mui-tab-item mui-active" href="pages/sys-home.html">
  51. <div normal="nav_ico_home_normal.png" active="nav_ico_home_active.png">
  52. <img src="img/nav/nav_ico_home_active.png" class="cr-tab-img" />
  53. </div>
  54. <span class="mui-tab-label">主页</span>
  55. </a>
  56. <a class="mui-tab-item" href="pages/map.esri.html">
  57. <div normal="nav_ico_map2d_normal.png" active="nav_ico_map2d_active.png">
  58. <img src="img/nav/nav_ico_map2d_normal.png" class="cr-tab-img" />
  59. </div>
  60. <span class="mui-tab-label">一张图</span>
  61. </a>
  62. <a class="mui-tab-item" href="pages/map3d.html">
  63. <div normal="nav_ico_map3d_normal.png" active="nav_ico_map3d_active.png">
  64. <img src="img/nav/nav_ico_map3d_normal.png" class="cr-tab-img" />
  65. </div>
  66. <span class="mui-tab-label">实景地图</span>
  67. </a>
  68. <a class="mui-tab-item" href="pages/main-address.html">
  69. <div normal="nav_ico_address_normal.png" active="nav_ico_address_active.png">
  70. <img src="img/nav/nav_ico_address_normal.png" class="cr-tab-img" />
  71. </div>
  72. <span class="mui-tab-label">通讯录</span>
  73. </a>
  74. <a class="mui-tab-item" href="pages/main-user.html">
  75. <div normal="nav_ico_user_normal.png" active="nav_ico_user_active.png">
  76. <img src="img/nav/nav_ico_user_normal.png" class="cr-tab-img" />
  77. </div>
  78. <span class="mui-tab-label">我的</span>
  79. </a>
  80. </nav>
  81. </body>
  82. </html>
  83. <!-- 引入mui脚本 -->
  84. <script src="js/mui.js" type="text/javascript" charset="utf-8"></script>
  85. <!-- 引入jQuery脚本 -->
  86. <script src="js/jquery.js" type="text/javascript" charset="utf-8"></script>
  87. <!-- 引入网络交互脚本 -->
  88. <script src="js/ajax.js" type="text/javascript" charset="utf-8"></script>
  89. <!-- 引入通用脚本 -->
  90. <script src="js/common.js" type="text/javascript" charset="utf-8"></script>
  91. <!-- 引入存储脚本 -->
  92. <script src="js/save.js" type="text/javascript" charset="utf-8"></script>
  93. <!-- 引入webview脚本 -->
  94. <script src="js/webview.js" type="text/javascript" charset="utf-8"></script>
  95. <!-- 本页独有脚本 -->
  96. <script type="text/javascript">
  97. $('body').css('background-color', colorBackground);
  98. mui.init();
  99. /* 关联子页面 */
  100. var subPages = [];
  101. subPages.push('pages/sys-home.html');
  102. subPages.push('pages/map.esri.html');
  103. // subPages.push('pages/map.esri.html?type=main');
  104. subPages.push('pages/map3d.html');
  105. subPages.push('pages/main-address.html');
  106. subPages.push('pages/main-user.html');
  107. /* 子页面样式 */
  108. var subPageStyle = {
  109. top: '45px',
  110. bottom: '52px',
  111. };
  112. var aniShow = {};
  113. //当前激活选项
  114. var activeTab = null;
  115. /* 给所有的标签添加类 */
  116. $('.mui-tab-label').addClass('cr-tab-label');
  117. /* 默认选择tab样式 */
  118. $('.mui-tab-item.mui-active').addClass('cr-active');
  119. /* 选项卡点击事件 */
  120. mui('.mui-bar-tab').on('tap', 'a', function(e) {
  121. /* 设置 */
  122. setTabItem(this);
  123. /* 切换 */
  124. activeTabItem(this);
  125. });
  126. /**
  127. * 页面显示
  128. */
  129. UIView_DidLoad(function() {
  130. /* 取消全屏 */
  131. plus.navigator.setFullscreen(false);
  132. /* 设置状态栏文字颜色 dark 黑色 light白色 只有这两种 该处设置后 后面一直有效 */
  133. // plus.navigator.setStatusBarStyle('light');
  134. /* 关闭主页 */
  135. var opener = plus.webview.currentWebview().opener();
  136. if (opener != null) {
  137. opener.close('none');
  138. }
  139. pageLoad();
  140. /* 绘制一个Home中间凸起 */
  141. // drawHome();
  142. /* 创建一个定位地图 */
  143. // setTimeout(function() {
  144. // createLocaionMapPage();
  145. // }, 5000);
  146. })
  147. /**
  148. * 激活时操作
  149. * @param {Object} tabItemObj 当前激活的TabItem
  150. */
  151. function setTabItem(tabItemObj) {
  152. var tabImgPath = 'img/nav/';
  153. /* 移除所有tab的选中样式 */
  154. $('.mui-tab-item').removeClass('cr-active');
  155. /* 给当前选中的tab添加选中样式 */
  156. $(tabItemObj).addClass('cr-active');
  157. /* 修改所有项的默认样式 */
  158. var tabs = $('.mui-bar-tab').children('.mui-tab-item');
  159. for (var i = 0; i < tabs.length; i++) {
  160. var normalSrc = $(tabs[i]).find('div').attr('normal');
  161. $(tabs[i]).find('div').find('img').attr('src', tabImgPath + normalSrc);
  162. }
  163. /* 修改选中项的样式 */
  164. var activeSrc = $(tabItemObj).find('div').attr('active');
  165. $(tabItemObj).find('div').find('img').attr('src', tabImgPath + activeSrc);
  166. }
  167. /**
  168. * 切换页面
  169. * @param {Object} tabItemObj tabItem
  170. */
  171. function activeTabItem(tabItemObj) {
  172. var targetTab = tabItemObj.getAttribute('href');
  173. /* 如果重复点击 则直接返回 */
  174. if (targetTab == activeTab) {
  175. return;
  176. }
  177. //若为iOS平台或非首次显示,则直接显示
  178. if (mui.os.ios || aniShow[targetTab]) {
  179. plus.webview.show(targetTab);
  180. } else {
  181. //否则,使用fade-in动画,且保存变量
  182. var temp = {};
  183. temp[targetTab] = "true";
  184. mui.extend(aniShow, temp);
  185. plus.webview.show(targetTab, "fade-in", 300);
  186. }
  187. //隐藏当前;
  188. plus.webview.hide(activeTab);
  189. //更改当前活跃的选项卡
  190. activeTab = targetTab;
  191. }
  192. /**
  193. * 页面初始化完成
  194. */
  195. function pageLoad() {
  196. activeTab = subPages[0];
  197. var self = plus.webview.currentWebview();
  198. /* 预加载子页面 并隐藏 */
  199. for (var i = 0; i < subPages.length; i++) {
  200. var temp = {};
  201. var subPage = plus.webview.create(subPages[i], subPages[i], subPageStyle);
  202. /* 隐藏 */
  203. subPage.hide();
  204. self.append(subPage);
  205. }
  206. /* 默认显示第一个子页面 */
  207. plus.webview.show(activeTab);
  208. }
  209. /**
  210. * 创建地图定位页面,主要为了解决案件列表中案件定位及其他页面需要进行地图定位
  211. * 具体定位业务逻辑在地图页面中开发
  212. */
  213. function createLocaionMapPage() {
  214. /* 定位地图Id 为了解决地图加载和定位的冲突 保证地图定位的速度 则在程序创建时则创建定位地图页面 并隐藏 */
  215. var lMapId = 'FeatureLocationByMap';
  216. createAndOpenPage({
  217. htmlPath: './pages/map.esri.html?type=location',
  218. id: lMapId,
  219. title: '地图定位',
  220. autoback: true,
  221. isShow: false,
  222. });
  223. }
  224. </script>