1
0

tab-webview-main.html 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>Hello MUI</title>
  6. <meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1,user-scalable=no">
  7. <meta name="apple-mobile-web-app-capable" content="yes">
  8. <meta name="apple-mobile-web-app-status-bar-style" content="black">
  9. <link rel="stylesheet" href="../css/mui.min.css">
  10. <style>
  11. html,
  12. body {
  13. background-color: #efeff4;
  14. }
  15. </style>
  16. </head>
  17. <body>
  18. <header class="mui-bar mui-bar-nav">
  19. <a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"></a>
  20. <h1 id="title" class="mui-title">首页</h1>
  21. </header>
  22. <nav class="mui-bar mui-bar-tab">
  23. <a id="defaultTab" class="mui-tab-item mui-active" href="tab-webview-subpage-about.html">
  24. <span class="mui-icon mui-icon-home"></span>
  25. <span class="mui-tab-label">首页</span>
  26. </a>
  27. <a class="mui-tab-item" href="tab-webview-subpage-chat.html">
  28. <span class="mui-icon mui-icon-email"><span class="mui-badge">9</span></span>
  29. <span class="mui-tab-label">消息</span>
  30. </a>
  31. <a class="mui-tab-item" href="tab-webview-subpage-contact.html">
  32. <span class="mui-icon mui-icon-contact"></span>
  33. <span class="mui-tab-label">通讯录</span>
  34. </a>
  35. <a class="mui-tab-item" href="tab-webview-subpage-setting.html">
  36. <span class="mui-icon mui-icon-gear"></span>
  37. <span class="mui-tab-label">设置</span>
  38. </a>
  39. </nav>
  40. <script src="../js/mui.min.js"></script>
  41. <script type="text/javascript" charset="utf-8">
  42. //mui初始化
  43. mui.init();
  44. var subpages = ['tab-webview-subpage-about.html', 'tab-webview-subpage-chat.html', 'tab-webview-subpage-contact.html', 'tab-webview-subpage-setting.html'];
  45. var subpage_style = {
  46. top: '45px',
  47. bottom: '51px'
  48. };
  49. var aniShow = {};
  50. //创建子页面,首个选项卡页面显示,其它均隐藏;
  51. mui.plusReady(function() {
  52. var self = plus.webview.currentWebview();
  53. for (var i = 0; i < 4; i++) {
  54. var temp = {};
  55. var sub = plus.webview.create(subpages[i], subpages[i], subpage_style);
  56. if (i > 0) {
  57. sub.hide();
  58. }else{
  59. temp[subpages[i]] = "true";
  60. mui.extend(aniShow,temp);
  61. }
  62. self.append(sub);
  63. }
  64. });
  65. //当前激活选项
  66. var activeTab = subpages[0];
  67. var title = document.getElementById("title");
  68. //选项卡点击事件
  69. mui('.mui-bar-tab').on('tap', 'a', function(e) {
  70. var targetTab = this.getAttribute('href');
  71. if (targetTab == activeTab) {
  72. return;
  73. }
  74. //更换标题
  75. title.innerHTML = this.querySelector('.mui-tab-label').innerHTML;
  76. //显示目标选项卡
  77. //若为iOS平台或非首次显示,则直接显示
  78. if(mui.os.ios||aniShow[targetTab]){
  79. plus.webview.show(targetTab);
  80. }else{
  81. //否则,使用fade-in动画,且保存变量
  82. var temp = {};
  83. temp[targetTab] = "true";
  84. mui.extend(aniShow,temp);
  85. plus.webview.show(targetTab,"fade-in",300);
  86. }
  87. //隐藏当前;
  88. plus.webview.hide(activeTab);
  89. //更改当前活跃的选项卡
  90. activeTab = targetTab;
  91. });
  92. //自定义事件,模拟点击“首页选项卡”
  93. document.addEventListener('gohome', function() {
  94. var defaultTab = document.getElementById("defaultTab");
  95. //模拟首页点击
  96. mui.trigger(defaultTab, 'tap');
  97. //切换选项卡高亮
  98. var current = document.querySelector(".mui-bar-tab>.mui-tab-item.mui-active");
  99. if (defaultTab !== current) {
  100. current.classList.remove('mui-active');
  101. defaultTab.classList.add('mui-active');
  102. }
  103. });
  104. </script>
  105. </body>
  106. </html>