index-tabs.js 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. mui.init();
  2. var count = 0
  3. mui.back = function() {
  4. if(count % 2 == 0) {
  5. mui.toast('再按一次退出应用')
  6. } else {
  7. plus.runtime.quit();
  8. }
  9. count++;
  10. }
  11. window.addEventListener('resize', function() {
  12. var he = window.innerHeight <= 400 ? true : false;
  13. var html = '';
  14. if(he) {
  15. html += '<input style="border:1px solid red" id="val" type="text" placeholder="请输入评论的内容..."/><button class="btns">评论</button>';
  16. // mui('#tabbar')[0].innerHTML = html;
  17. document.getElementById('val').focus();
  18. } else {
  19. html += '<a id="defaultTab" class="mui-tab-item" href="home-index.html">'
  20. html += '<span class="mui-icon show"></span>'
  21. html += '<span class="mui-tab-label">工作</span>'
  22. html += '</a>'
  23. html += '<a class="mui-tab-item mui-active" href="communicate.html">'
  24. html += '<span class="mui-icon chat">'
  25. html += '<!--有新消息时显示,添加数字-->'
  26. html += '<!--<span class="mui-badge">9</span>-->'
  27. html += '</span>'
  28. html += '<span class="mui-tab-label">社交</span>'
  29. html += '</a>'
  30. html += '<a class="mui-tab-item" href="appliance.html">'
  31. html += '<span class="mui-icon app"></span>'
  32. html += '<span class="mui-tab-label">资讯</span>'
  33. html += '</a>'
  34. html += '<a class="mui-tab-item" href="my.html">'
  35. html += '<span class="mui-icon me"></span>'
  36. html += '<span class="mui-tab-label">我的</span>'
  37. html += '</a>'
  38. mui('#tabbar')[0].innerHTML = html;
  39. }
  40. }, false);
  41. mui(document.body).on('tap', '.btns', function() {
  42. var detailPage = plus.webview.getWebviewById('communicate.html');
  43. var val = mui('#tabbar input')[0].value;
  44. mui.fire(detailPage, 'sendValue', {
  45. val: val
  46. });
  47. mui('#tabbar input')[0].blur();
  48. });
  49. var subpages = [ 'home-index.html', 'communicate.html','appliance.html', 'my.html'];
  50. var aniShow = {}; //创建子页面,首个选项卡页面显示,其它均隐藏;
  51. mui.plusReady(function() {
  52. var subpage_style = {
  53. top: '46px',
  54. bottom: '50px'
  55. };
  56. var self = plus.webview.currentWebview();
  57. for(var i = 0; i < 4; i++) {
  58. var temp = {};
  59. var sub = plus.webview.create(subpages[i], subpages[i], subpage_style);
  60. if(i > 0) {
  61. sub.hide();
  62. } else {
  63. temp[subpages[i]] = "true";
  64. mui.extend(aniShow, temp);
  65. }
  66. self.append(sub);
  67. }
  68. });
  69. //当前激活选项
  70. var activeTab = subpages[0];
  71. var title = document.getElementById("title");
  72. var titleImg = mui(".title-img")[0]
  73. mui.plusReady(function() {
  74. var str = plus.storage.getItem('user');
  75. var user = JSON.parse(str)
  76. titleImg.innerHTML = '<img src="http://www.bosshand.cn/' + user.Data.Picture + '"/>'
  77. })
  78. //滑动
  79. //选项卡点击事件
  80. mui('.mui-bar-tab').on('tap', 'a', function(e) {
  81. var targetTab = this.getAttribute('href');
  82. if(targetTab == activeTab) {
  83. return;
  84. }
  85. //更换标题
  86. if(this.querySelector('.mui-tab-label').innerHTML == '工作') {
  87. title.innerHTML = 'BOSSHAND';
  88. titleImg.style.display = 'inline-block';
  89. } else {
  90. title.innerHTML = this.querySelector('.mui-tab-label').innerHTML;
  91. titleImg.style.display = 'none';
  92. }
  93. //显示目标选项卡
  94. //若为iOS平台或非首次显示,则直接显示
  95. if(mui.os.ios || aniShow[targetTab]) {
  96. plus.webview.show(targetTab);
  97. } else {
  98. //否则,使用fade-in动画,且保存变量
  99. var temp = {};
  100. temp[targetTab] = "true";
  101. mui.extend(aniShow, temp);
  102. plus.webview.show(targetTab, "fade-in", 400);
  103. }
  104. //隐藏当前;
  105. plus.webview.hide(activeTab);
  106. //更改当前活跃的选项卡
  107. activeTab = targetTab;
  108. });
  109. //自定义事件,模拟点击“首页选项卡”
  110. document.addEventListener('gohome', function() {
  111. var defaultTab = document.getElementById("defaultTab");
  112. //模拟首页点击
  113. mui.trigger(defaultTab, 'tap');
  114. //切换选项卡高亮
  115. var current = document.querySelector(".mui-bar-tab>.mui-tab-item.mui-active");
  116. if(defaultTab !== current) {
  117. current.classList.remove('mui-active');
  118. defaultTab.classList.add('mui-active');
  119. }
  120. });