Нет описания

index.js 2.1KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. //mui初始化
  2. mui.init();
  3. var subpages = ['personal.html', 'tab-phone.html', 'Setting-1.html'];
  4. var subpage_style = {
  5. top: '45px',
  6. bottom: '51px'
  7. };
  8. var aniShow = {};
  9. //创建子页面,首个选项卡页面显示,其它均隐藏;
  10. mui.plusReady(function() {
  11. var self = plus.webview.currentWebview();
  12. self.show('slide-in-right', 300);
  13. plus.nativeUI.closeWaiting();
  14. for (var i = 0; i < 4; i++) {
  15. var temp = {};
  16. var sub = plus.webview.create(subpages[i], subpages[i], subpage_style);
  17. if (i > 0) {
  18. sub.hide();
  19. } else {
  20. temp[subpages[i]] = "true";
  21. mui.extend(aniShow, temp);
  22. }
  23. self.append(sub);
  24. }
  25. });
  26. //当前激活选项
  27. var activeTab = subpages[0];
  28. var title = document.getElementById("title");
  29. //选项卡点击事件
  30. mui('.mui-bar-tab').on('tap', 'a', function(e) {
  31. var targetTab = this.getAttribute('href');
  32. if (targetTab == activeTab) {
  33. return;
  34. }
  35. //更换标题
  36. title.innerHTML = this.querySelector('.mui-tab-label').innerHTML;
  37. //显示目标选项卡
  38. //若为iOS平台或非首次显示,则直接显示
  39. if (mui.os.ios || aniShow[targetTab]) {
  40. plus.webview.show(targetTab);
  41. } else {
  42. //否则,使用fade-in动画,且保存变量
  43. var temp = {};
  44. temp[targetTab] = "true";
  45. mui.extend(aniShow, temp);
  46. plus.webview.show(targetTab, "fade-in", 200);
  47. }
  48. //隐藏当前;
  49. plus.webview.hide(activeTab);
  50. //更改当前活跃的选项卡
  51. activeTab = targetTab;
  52. });
  53. //自定义事件,模拟点击“首页选项卡”
  54. document.addEventListener('gohome', function() {
  55. var defaultTab = document.getElementById("defaultTab");
  56. //模拟首页点击
  57. mui.trigger(defaultTab, 'tap');
  58. //切换选项卡高亮
  59. var current = document.querySelector(".mui-bar-tab>.mui-tab-item.mui-active");
  60. if (defaultTab !== current) {
  61. current.classList.remove('mui-active');
  62. defaultTab.classList.add('mui-active');
  63. }
  64. });
  65. //点击两次就退出软件
  66. var backcount = 0;
  67. mui.back = function() {
  68. if (mui.os.ios) return;
  69. if (backcount > 0) {
  70. if (window.plus) plus.runtime.quit();
  71. return;
  72. };
  73. mui.toast('再按一次退出应用');
  74. backcount++;
  75. setTimeout(function() {
  76. backcount = 0;
  77. }, 2000);
  78. };