pageLoading.vue 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. <template name="pageLoading">
  2. <view class="pageLoading" v-if="pageLoading" @tap.stop="stopFun" @touchmove.stop="stopFun">
  3. <view class="loader">
  4. <view class="loader-inner ball-scale-multiple">
  5. <view></view>
  6. <view></view>
  7. <view></view>
  8. <image src="http://static.youqianzhuan.vip/ll.png" mode="aspectFill"></image>
  9. </view>
  10. </view>
  11. <view class="text-center text-hui" style="margin-top: -30rpx;">页面加载中</view>
  12. </view>
  13. </template>
  14. <script>
  15. export default {
  16. name: "pageLoading",
  17. props: {
  18. pageLoading: {
  19. type : Boolean,
  20. default : false
  21. },
  22. },
  23. methods:{
  24. stopFun : function(){return false;}
  25. }
  26. }
  27. </script>
  28. <style>
  29. .pageLoading{width:100%; height:100%; background:#FFFFFF; position:fixed; z-index:99; left:0; top:0; bottom:0;}
  30. .loader {display:flex;flex:0 1 auto;flex-direction:column;flex-grow:1;flex-shrink:0;flex-basis:60%;max-width:60%;height:500rpx;align-items:center;justify-content:center;}
  31. .loader image {width:100rpx;height:100rpx;z-index:1000;position:absolute;left:100rpx;top:100rpx;opacity:1;margin:0;width:100rpx;}
  32. @-webkit-keyframes ball-scale-multiple {0% {-webkit-transform:scale(0);transform:scale(0);opacity:0;}
  33. 5% {opacity:1;}
  34. 100% {-webkit-transform:scale(1);transform:scale(1);opacity:0;}
  35. }
  36. @keyframes ball-scale-multiple {0% {-webkit-transform:scale(0);transform:scale(0);opacity:0;}
  37. 5% {opacity:1;}
  38. 100% {-webkit-transform:scale(1);transform:scale(1);opacity:0;}
  39. }
  40. .ball-scale-multiple {position:relative;-webkit-transform:translateY(-30px);-ms-transform:translateY(-30px);transform:translateY(-30px);}
  41. .ball-scale-multiple>view:nth-child(2) {-webkit-animation-delay:0.2s;animation-delay:0.2s;}
  42. .ball-scale-multiple>view:nth-child(3) {-webkit-animation-delay:0.4s;animation-delay:0.4s;}
  43. .ball-scale-multiple>view {background-color:#3c64c9;border-radius:100%;margin:2px;-webkit-animation-fill-mode:both;animation-fill-mode:both;position:absolute;left:60rpx;top:60rpx;opacity:0;margin:0;width:180rpx;height:180rpx;-webkit-animation:ball-scale-multiple 1s 0s linear infinite;animation:ball-scale-multiple 1s 0s linear infinite;}
  44. </style>