1.编写加载效果的CSS
推荐参考:使用 CSS3 实现超炫的 Loading(加载)动画效果 - 梦想天空(山边小溪) - 博客园
2.增加遮罩层,用以加载时无法点击页面其他内容
3.实现的demo。
使用:通过js形式把代码加载到html中、layout方式将代码段包含进html中。调用showDialog()、hideDialog()控制显示隐藏。
此外,文章中代码段需要在页面内容的最前边加载,如果是放在其他位置,自行处理加载效果的位置问题。
<style>
.diy-dialog {
display: none;
}
.diy-dialog .mask {
width: 100%;
height: 100%;
position: absolute;
left: 0;
top: 0;
z-index: 10000;
}
.diy-dialog .spinner {
z-index: 1;
width: 5.5rem;
left: 45%;
top: 35%;
height: 5.5rem;
position: fixed;
text-align: center;
-webkit-animation: rotate 2.0s infinite linear;
animation: rotate 2.0s infinite linear;
}
.dot1, .dot2 {
width: 60%;
height: 60%;
display: inline-block;
position: absolute;
top: 0;
background-color: #67CF22;
border-radius: 100%;
-webkit-animation: bounce 2.0s infinite ease-in-out;
animation: bounce 2.0s infinite ease-in-out;
}
.dot2 {
top: auto;
bottom: 0px;
-webkit-animation-delay: -1.0s;
animation-delay: -1.0s;
}
@-webkit-keyframes rotate { 100% { -webkit-transform: rotate(360deg) }}
@keyframes rotate { 100% { transform: rotate(360deg); -webkit-transform: rotate(360deg) }}
@-webkit-keyframes bounce {
0%, 100% { -webkit-transform: scale(0.0) }
50% { -webkit-transform: scale(1.0) }
}
@keyframes bounce {
0%, 100% {
transform: scale(0.0);
-webkit-transform: scale(0.0);
} 50% {
transform: scale(1.0);
-webkit-transform: scale(1.0);
}
}
</style>
<div class="diy-dialog">
<div class="mask"></div>
<div class="spinner">
<div class="dot1"></div>
<div class="dot2"></div>
</div>
</div>
<script>
function showDialog()
{
$('.diy-dialog').css('display','block');
}
function hideDialog()
{
$('.diy-dialog').css('display','none');
}
</script>