自用的一个web站点加载特效
侧边栏壁纸
  • 累计撰写 114 篇文章
  • 累计收到 21 条评论

自用的一个web站点加载特效

SanLiLin
2019-03-18 / 0 评论 / 491 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2019年03月19日,已超过1463天没有更新,若内容或图片失效,请留言反馈。

一个加载特效

CSS代码

.spinner {
  width: 60px;
  height: 60px;
  background-color: #67CF22;
 
  margin: 100px auto;
  -webkit-animation: rotateplane 1.2s infinite ease-in-out;
  animation: rotateplane 1.2s infinite ease-in-out;
  
}
 
@-webkit-keyframes rotateplane {
  0% { -webkit-transform: perspective(120px) }
  50% { -webkit-transform: perspective(120px) rotateY(180deg) }
  100% { -webkit-transform: perspective(120px) rotateY(180deg)  rotateX(180deg) }
}
 
@keyframes rotateplane {
  0% {
    transform: perspective(120px) rotateX(0deg) rotateY(0deg);
    -webkit-transform: perspective(120px) rotateX(0deg) rotateY(0deg)
  } 50% {
    transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg);
    -webkit-transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg)
  } 100% {
    transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
    -webkit-transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
  }
}

JavaScript代码

//获取浏览器页面可见高度和宽度  
var _PageHeight = document.documentElement.clientHeight,  
    _PageWidth = document.documentElement.clientWidth;  
//计算loading框距离顶部和左部的距离(loading框的宽度为215px,高度为61px)  
var _LoadingTop = _PageHeight > 90 ? (_PageHeight - 90) / 2 : 0,  
    _LoadingLeft = _PageWidth > 90 ? (_PageWidth - 90) / 2 : 0;  
//在页面未加载完毕之前显示的loading Html自定义内容  
var _LoadingHtml = '<div id="loadingDiv" style="position:absolute;left:0;width:100%;height:' + _PageHeight + 'px;top:0;background:#FFFFFF;opacity:1.0;filter:alpha(opacity=80);z-index:10000;"><div class="spinner" style="position: top: 60px; margin:' + _LoadingTop + 'px auto ;"></div></div>';  
//呈现loading效果  
document.write(_LoadingHtml);  

//监听加载状态改变  
document.onreadystatechange = completeLoading;  

//加载状态为complete时移除loading效果  
function completeLoading() {  
    if (document.readyState == "complete") {  
        $("#loadingDiv").fadeOut(1500);
    }  
}  

html使用方法

把上面的两段代码保存成 .css / .js 文件,在需要加载的页面引入文件即可
<!DOCTYPE html>
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <title>loading加载特效</title>
        <meta name="description" content="">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <link rel="stylesheet" href="./loading.css">
    </head>
    <body style="text-align:center;margin-top: 200px">
        <h2>这是一个加载特效,刷新页面可见,页面加载完成后隐藏</h2>
        <script src="https://cdn.staticfile.org/jquery/3.3.1/jquery.min.js" ></script>
        <script src="./loading.js" ></script>
    </body>
</html>

使用效果

loading.gif

0

评论 (0)

取消