javascript自定义加载loading效果
本文实例为大家分享了javascript自定义加载loading效果的具体代码,供大家参考,具体内容如下
加载中图片,底色为白色(看不到)
效果如图:
使用方法
this.tool.showLoading('加载中',this)
this.tool.showLoading('合成中',this)
this.tool.hideLoading()
引用文件
在App.vue中
@import'./common.css';
在main.js中
importtoolsfrom'./tools' Vue.prototype.tool=tools
tools.js
exportdefault{
//显示加载框---使用方法,例如:this.tool.showLoading('正在加载',this,'1')
showLoading(message,el,type){
varhtml='';
html+='';
html+=''+(message||"数据加载中")+'';
//遮罩层
varmask=document.getElementsByClassName("mui-show-loading-mask");
if(mask.length==0){
mask=document.createElement('div');
mask.classList.add("mui-show-loading-mask");
//console.log(type)
//自己添加内容...start
if(type!=='2'&&type){
varwinHig=document.documentElement.clientHeight;
if(el.$refs.nav){
varheightNav=el.$refs.nav.offsetHeight;
varheightFix=el.$refs.fixed.offsetHeight;
if(type==='1'){
varloHig=winHig-heightNav-heightFix+'px'
}else{
loHig=winHig-heightFix+'px'
}
mask.style.top=heightFix+'px'
mask.style.height=loHig
}
}
//自己添加内容...End
document.body.appendChild(mask);
mask.addEventListener("touchmove",function(e){e.stopPropagation();e.preventDefault();});
}else{
mask[0].classList.remove("mui-show-loading-mask-hidden");
}
//加载框
vartoast=document.getElementsByClassName("mui-show-loading");
if(toast.length==0){
toast=document.createElement('div');
toast.classList.add("mui-show-loading");
toast.classList.add('loading-visible');
document.body.appendChild(toast);
toast.innerHTML=html;
toast.addEventListener("touchmove",function(e){e.stopPropagation();e.preventDefault();});
}else{
toast[0].innerHTML=html;
toast[0].classList.add("loading-visible");
}
},
//隐藏加载框----使用方法,例如:this.tool.hideLoading();
hideLoading(callback){
varmask=document.getElementsByClassName("mui-show-loading-mask");
vartoast=document.getElementsByClassName("mui-show-loading");
if(mask.length>0){
mask[0].classList.add("mui-show-loading-mask-hidden");
}
if(toast.length>0){
toast[0].classList.remove("loading-visible");
callback&&callback();
}
}
common.css
/*----------------mui.showLoading---------------*/
.mui-show-loading{
position:fixed;
padding:5px;
width:120px;
min-height:120px;
top:45%;
left:50%;
margin-left:-60px;
background:rgba(0,0,0,0.6);
text-align:center;
border-radius:5px;
color:#FFFFFF;
visibility:hidden;
margin:0;
z-index:2000;
-webkit-transition-duration:.2s;
transition-duration:.2s;
opacity:0;
-webkit-transform:scale(0.9)translate(-50%,-50%);
transform:scale(0.9)translate(-50%,-50%);
-webkit-transform-origin:00;
transform-origin:00;
}
.mui-show-loading.loading-visible{
opacity:1;
visibility:visible;
-webkit-transform:scale(1)translate(-50%,-50%);
transform:scale(1)translate(-50%,-50%);
}
.mui-show-loading.mui-spinner{
margin-top:24px;
width:36px;
height:36px;
}
.mui-show-loading.text{
line-height:1.6;
font-family:-apple-system-font,"HelveticaNeue",sans-serif;
font-size:14px;
margin:10px00;
color:#fff;
}
.mui-show-loading-mask{
position:fixed;
z-index:1000;
top:0;
right:0;
left:0;
bottom:0;
background-color:rgba(0,0,0,0);
}
.mui-show-loading-mask-hidden{
display:none!important;
}
/*toast信息提示*/
.mui-toast-container{
top:5%!important;
width:auto;
text-align:center;
}
.mui-toast-message{
background:url(/app/themes/default/images/toast.png)no-repeatcenter10px#000;
background-color:rgba(0,0,0,.8);
color:#fff;
/*max-width:90%;*/
display:inline-block;
width:auto;
margin:0auto;
/*padding:70px5px10px5px;*/
}
.mui-spinner-white:after{
background-image:url(./assets/loding.png);
}
.mui-loading.mui-spinner{
display:block;
margin:0auto;
}
.mui-spinner{
display:inline-block;
width:24px;
height:24px;
-webkit-transform-origin:50%;
transform-origin:50%;
-webkit-animation:spinner-spin1sstep-endinfinite;
animation:spinner-spin1sstep-endinfinite;
}
.mui-btn.mui-spinner{
width:14px;
height:14px;
vertical-align:text-bottom;
}
.mui-btn-block.mui-spinner{
width:22px;
height:22px;
}
.mui-spinner:after{
display:block;
width:100%;
height:100%;
content:'';
background-repeat:no-repeat;
background-position:50%;
background-size:100%;
}
@-webkit-keyframesspinner-spin{
0%{
-webkit-transform:rotate(0deg);
}
8.33333333%{
-webkit-transform:rotate(30deg);
}
16.66666667%{
-webkit-transform:rotate(60deg);
}
25%{
-webkit-transform:rotate(90deg);
}
33.33333333%{
-webkit-transform:rotate(120deg);
}
41.66666667%{
-webkit-transform:rotate(150deg);
}
50%{
-webkit-transform:rotate(180deg);
}
58.33333333%{
-webkit-transform:rotate(210deg);
}
66.66666667%{
-webkit-transform:rotate(240deg);
}
75%{
-webkit-transform:rotate(270deg);
}
83.33333333%{
-webkit-transform:rotate(300deg);
}
91.66666667%{
-webkit-transform:rotate(330deg);
}
100%{
-webkit-transform:rotate(360deg);
}
}
@keyframesspinner-spin{
0%{
transform:rotate(0deg);
}
8.33333333%{
transform:rotate(30deg);
}
16.66666667%{
transform:rotate(60deg);
}
25%{
transform:rotate(90deg);
}
33.33333333%{
transform:rotate(120deg);
}
41.66666667%{
transform:rotate(150deg);
}
50%{
transform:rotate(180deg);
}
58.33333333%{
transform:rotate(210deg);
}
66.66666667%{
transform:rotate(240deg);
}
75%{
transform:rotate(270deg);
}
83.33333333%{
transform:rotate(300deg);
}
91.66666667%{
transform:rotate(330deg);
}
100%{
transform:rotate(360deg);
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。