1
0

actionsheet.html 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  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. <!--标准mui.css-->
  10. <link rel="stylesheet" href="../css/mui.min.css">
  11. <!--App自定义的css-->
  12. <!--<link rel="stylesheet" type="text/css" href="../css/app.css"/>-->
  13. <style>
  14. p {
  15. text-indent: 22px;
  16. }
  17. span.mui-icon {
  18. font-size: 14px;
  19. color: #007aff;
  20. margin-left: -15px;
  21. padding-right: 10px;
  22. }
  23. #info {
  24. padding: 20px 10px;
  25. }
  26. /*.des {
  27. margin: .5em 0;
  28. }
  29. .des>li {
  30. font-size: 14px;
  31. color: #8f8f94;
  32. }*/
  33. </style>
  34. </head>
  35. <body>
  36. <header class="mui-bar mui-bar-nav">
  37. <a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"></a>
  38. <h1 class="mui-title">H5模式actionsheet</h1>
  39. </header>
  40. <nav class="mui-bar mui-bar-tab">
  41. <a class="mui-tab-item" href="#delete">
  42. <span class="mui-icon mui-icon-trash"></span>
  43. </a>
  44. <a class="mui-tab-item" href="#">
  45. </a>
  46. <a class="mui-tab-item" href="#">
  47. </a>
  48. <a class="mui-tab-item" href="#forward">
  49. <span class="mui-icon mui-icon-undo"></span>
  50. </a>
  51. </nav>
  52. <div class="mui-content">
  53. <div class="mui-content-padded">
  54. <p>actionsheet一般从底部弹出,显示一系列可选择的操作按钮,供用户选择; actionSheet可从任意位置触发, 点击本页面左下角
  55. <span class="mui-icon mui-icon-trash"></span>会弹出删除信息确认框; 点击本页面右下角
  56. <span class="mui-icon mui-icon-undo"></span>会弹出转发确认框; 你也可点击如下按钮,打开照片选择框:
  57. </p>
  58. <p>
  59. <a href="#picture" class="mui-btn mui-btn-primary mui-btn-block mui-btn-outlined" style="padding: 5px 20px;">打开actionsheet</a>
  60. </p>
  61. <p>本页面为H5模式的actionsheet演示示例,该模式具有如下优点:</p>
  62. <ul class="des">
  63. <li>可通过css自由定制展现样式</li>
  64. </ul>
  65. <p>另一方面,H5模式的actionsheet也具备如下缺点:</p>
  66. <ul class="hm-description">
  67. <li>不支持覆盖顶部状态栏</li>
  68. <li>不支持跨webview的遮罩</li>
  69. <li>在有map等原生组件时,容易被遮挡</li>
  70. </ul>
  71. <p id="info"></p>
  72. </div>
  73. </div>
  74. <div id="delete" class="mui-popover mui-popover-action mui-popover-bottom">
  75. <ul class="mui-table-view">
  76. <li class="mui-table-view-cell">
  77. <a href="#" style="color: #FF3B30;">删除信息</a>
  78. </li>
  79. </ul>
  80. <ul class="mui-table-view">
  81. <li class="mui-table-view-cell">
  82. <a href="#delete"><b>取消</b></a>
  83. </li>
  84. </ul>
  85. </div>
  86. <div id="forward" class="mui-popover mui-popover-action mui-popover-bottom">
  87. <ul class="mui-table-view">
  88. <li class="mui-table-view-cell">
  89. <a href="#">回复</a>
  90. </li>
  91. <li class="mui-table-view-cell">
  92. <a href="#">转发</a>
  93. </li>
  94. <li class="mui-table-view-cell">
  95. <a href="#">打印</a>
  96. </li>
  97. </ul>
  98. <ul class="mui-table-view">
  99. <li class="mui-table-view-cell">
  100. <a href="#forward"><b>取消</b></a>
  101. </li>
  102. </ul>
  103. </div>
  104. <div id="picture" class="mui-popover mui-popover-action mui-popover-bottom">
  105. <ul class="mui-table-view">
  106. <li class="mui-table-view-cell">
  107. <a href="#">拍照或录像</a>
  108. </li>
  109. <li class="mui-table-view-cell">
  110. <a href="#">选取现有的</a>
  111. </li>
  112. </ul>
  113. <ul class="mui-table-view">
  114. <li class="mui-table-view-cell">
  115. <a href="#picture"><b>取消</b></a>
  116. </li>
  117. </ul>
  118. </div>
  119. </body>
  120. <script src="../js/mui.min.js"></script>
  121. <script>
  122. mui.init({
  123. swipeBack:true //启用右滑关闭功能
  124. });
  125. mui('body').on('shown', '.mui-popover', function(e) {
  126. //console.log('shown', e.detail.id);//detail为当前popover元素
  127. });
  128. mui('body').on('hidden', '.mui-popover', function(e) {
  129. //console.log('hidden', e.detail.id);//detail为当前popover元素
  130. });
  131. var info = document.getElementById("info");
  132. mui('body').on('tap', '.mui-popover-action li>a', function() {
  133. var a = this,
  134. parent;
  135. //根据点击按钮,反推当前是哪个actionsheet
  136. for (parent = a.parentNode; parent != document.body; parent = parent.parentNode) {
  137. if (parent.classList.contains('mui-popover-action')) {
  138. break;
  139. }
  140. }
  141. //关闭actionsheet
  142. mui('#' + parent.id).popover('toggle');
  143. info.innerHTML = "你刚点击了\"" + a.innerHTML + "\"按钮";
  144. })
  145. </script>
  146. </html>