1
0

buttons-with-loading.html 4.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  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. input,
  15. button,
  16. .mui-btn {
  17. margin: 5px 15px 10px 5px;
  18. }
  19. .mui-spinner {
  20. display: inline-block;
  21. width: 24px;
  22. height: 24px;
  23. -webkit-transform-origin: 50%;
  24. transform-origin: 50%;
  25. -webkit-animation: spinner-spin 1s step-end infinite;
  26. animation: spinner-spin 1s step-end infinite;
  27. }
  28. .mui-spinner:after {
  29. display: block;
  30. content: "";
  31. width: 100%;
  32. height: 100%;
  33. background-position: 50%;
  34. background-size: 100%;
  35. background-repeat: no-repeat;
  36. }
  37. .mui-spinner-custom:after {
  38. background-image: url("data:image/svg+xml;charset=utf-8,<svg viewBox='0 0 120 120' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'><defs><line id='l' x1='60' x2='60' y1='7' y2='27' stroke='red' stroke-width='11' stroke-linecap='round'/></defs><g><use xlink:href='%23l' opacity='.27'/><use xlink:href='%23l' opacity='.27' transform='rotate(30 60,60)'/><use xlink:href='%23l' opacity='.27' transform='rotate(60 60,60)'/><use xlink:href='%23l' opacity='.27' transform='rotate(90 60,60)'/><use xlink:href='%23l' opacity='.27' transform='rotate(120 60,60)'/><use xlink:href='%23l' opacity='.27' transform='rotate(150 60,60)'/><use xlink:href='%23l' opacity='.37' transform='rotate(180 60,60)'/><use xlink:href='%23l' opacity='.46' transform='rotate(210 60,60)'/><use xlink:href='%23l' opacity='.56' transform='rotate(240 60,60)'/><use xlink:href='%23l' opacity='.66' transform='rotate(270 60,60)'/><use xlink:href='%23l' opacity='.75' transform='rotate(300 60,60)'/><use xlink:href='%23l' opacity='.85' transform='rotate(330 60,60)'/></g></svg>");
  39. }
  40. </style>
  41. </head>
  42. <body>
  43. <header class="mui-bar mui-bar-nav">
  44. <a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"></a>
  45. <h1 class="mui-title">加载中按钮插件</h1>
  46. </header>
  47. <div class="mui-content">
  48. <div class="mui-content-padded">
  49. <p style="margin-bottom: 25px;">当用户点击按钮后,需要向服务端提交数据或等待服务端响应时,
  50. 常常需要提示“正在提交”,并将按钮设置为disabled,避免用户重复点击、重复提交;
  51. mui的加载中按钮就实现了类似效果,点击如下按钮体验:</p>
  52. <h5>左侧loading图标:</h5>
  53. <button type="button" class="mui-btn mui-btn-primary" >确认</button>
  54. <h5>右侧loading图标:</h5>
  55. <button type="button" class="mui-btn mui-btn-primary" data-loading-text = "提交中" data-loading-icon-position="right">确认</button>
  56. <h5>无loading图标:</h5>
  57. <button type="button" class="mui-btn mui-btn-primary" data-loading-icon="">确认</button>
  58. <h5>自定义loading图标:</h5>
  59. <button type="button" class="mui-btn mui-btn-primary" data-loading-icon="mui-spinner mui-spinner-custom">确认</button>
  60. <h5>其他button效果</h5>
  61. <button type="button" class="mui-btn">确认</button>
  62. <button type="button" class="mui-btn mui-btn-outlined mui-btn-primary">确认</button>
  63. <button type="button" class="mui-btn mui-btn-primary">确认 <span class="mui-badge mui-badge-primary">2</span></button>
  64. <button type="button" class="mui-btn mui-btn-block mui-btn-primary">确认</button>
  65. </div>
  66. </div>
  67. </body>
  68. <script src="../js/mui.min.js"></script>
  69. <script>
  70. mui.init({
  71. swipeBack: true //启用右滑关闭功能
  72. });
  73. mui(document.body).on('tap', '.mui-btn', function(e) {
  74. mui(this).button('loading');
  75. setTimeout(function() {
  76. mui(this).button('reset');
  77. }.bind(this), 2000);
  78. });
  79. </script>
  80. </html>