12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- <template>
- <view class="grace-full-loading" v-if="graceFullLoading" :style="{backgroundColor:background}" @tap.stop="" @touchmove.stop="">
- <image class="grace-full-loading-image" ref="loadingLogos" :src="logoUrl" mode="widthFix" :style="{width:size, height:size}"></image>
- <text class="grace-full-loading-text" :style="{color:textColor, fontSize:fontSize}">{{text}}</text>
- </view>
- </template>
- <script>
- var animation = weex.requireModule('animation');
- export default {
- name: "graceFullLoading",
- props: {
- graceFullLoading: {
- type : Boolean,
- default : false
- },
- logoUrl : {
- type : String,
- default : ""
- },
- text : {
- type : String,
- default : "Loading ..."
- },
- fontSize : {
- type : String,
- default : "22rpx"
- },
- textColor : {
- type : String,
- default : "#999999"
- },
- size : {
- type : String,
- default : "138rpx"
- },
- background : {
- type : String,
- default : 'rgba(255,255,255,1)'
- }
- },
- updated : function(){
- setTimeout(()=>{
- var loadingLogos = this.$refs.loadingLogos;
- this.animation1(loadingLogos);
- }, 200);
- },
- methods: {
- animation1 : function(loadingLogos){
- var _self = this;
- animation.transition(loadingLogos, {
- styles: { opacity:0.3},
- duration: 1000,
- timingFunction: 'linear',
- needLayout:false,
- delay: 0
- }, function (){_self.animation2(loadingLogos);});
- },
- animation2 : function(loadingLogos){
- var _self = this;
- animation.transition(loadingLogos, {
- styles: { opacity: 1},
- duration: 1000,
- timingFunction: 'linear',
- needLayout:false,
- delay: 0
- }, function (){_self.animation1(loadingLogos);}
- );
- }
- }
- }
- </script>
- <style scoped>
- .grace-full-loading{width:750rpx; justify-content:center; align-items:center; background-color:rgba(255,255,255,0.9); position:fixed; left:0; top:0; bottom:0;}
- .grace-full-loading-image{width:150rpx; height:150rpx; border-radius:150rpx;}
- .grace-full-loading-text{line-height:50rpx; font-size:22rpx; margin-top:10rpx; text-align:center;}
- </style>
|