UI:增加载入动画

pull/1498/MERGE
ChenX 3 years ago
parent a35e8a6703
commit ce56cfc271

@ -117,6 +117,10 @@ const config: webpack.Configuration = {
}), }),
new AddAssetHtmlPlugin( new AddAssetHtmlPlugin(
[ [
{
filepath: "./src/loading.css",
typeOfAsset: "css",
},
{ {
filepath: "./node_modules/normalize.css/normalize.css", filepath: "./node_modules/normalize.css/normalize.css",
typeOfAsset: "css", typeOfAsset: "css",

@ -11,7 +11,16 @@
</head> </head>
<body> <body>
<div id="page_loading">晨丰WebCAD,全屋定制设计拆单,无需安装,云端设计,一键直达!<br>正在载入,请稍候...</div> <div id="loader-wrapper">
<div id="loader"></div>
<div class="loader-section section-left"></div>
<div class="loader-section section-right"></div>
<div>晨丰WebCAD,全屋定制设计拆单,无需安装,云端设计,一键直达!</div>
<div id="load_title">正在加载中,请稍候...</div>
</div>
<script>
document.getElementById("loader-wrapper").style.visibility = "visible";
</script>
</body> </body>
</html> </html>

@ -117,7 +117,7 @@ window.addEventListener("blur", e =>
window.onload = function () window.onload = function ()
{ {
let el = document.getElementById("page_loading"); let el = document.getElementById("loader-wrapper");
el.remove(); el.remove();
function isWebGLAvailable() function isWebGLAvailable()
{ {

@ -0,0 +1,171 @@
.chromeframe {
margin: .2em 0;
background: #ccc;
color: #000;
padding: .2em 0
}
#loader-wrapper {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 999999
}
#loader {
display: block;
position: relative;
left: 50%;
top: 50%;
width: 150px;
height: 150px;
margin: -75px 0 0 -75px;
border-radius: 50%;
border: 3px solid transparent;
border-top-color: #FFF;
-webkit-animation: spin 2s linear infinite;
-ms-animation: spin 2s linear infinite;
-moz-animation: spin 2s linear infinite;
-o-animation: spin 2s linear infinite;
animation: spin 2s linear infinite;
z-index: 1001
}
#loader:before {
content: "";
position: absolute;
top: 5px;
left: 5px;
right: 5px;
bottom: 5px;
border-radius: 50%;
border: 3px solid transparent;
border-top-color: #FFF;
-webkit-animation: spin 3s linear infinite;
-moz-animation: spin 3s linear infinite;
-o-animation: spin 3s linear infinite;
-ms-animation: spin 3s linear infinite;
animation: spin 3s linear infinite
}
#loader:after {
content: "";
position: absolute;
top: 15px;
left: 15px;
right: 15px;
bottom: 15px;
border-radius: 50%;
border: 3px solid transparent;
border-top-color: #FFF;
-moz-animation: spin 1.5s linear infinite;
-o-animation: spin 1.5s linear infinite;
-ms-animation: spin 1.5s linear infinite;
-webkit-animation: spin 1.5s linear infinite;
animation: spin 1.5s linear infinite
}
@-webkit-keyframes spin {
0% {
-webkit-transform: rotate(0deg);
-ms-transform: rotate(0deg);
transform: rotate(0deg)
}
100% {
-webkit-transform: rotate(360deg);
-ms-transform: rotate(360deg);
transform: rotate(360deg)
}
}
@keyframes spin {
0% {
-webkit-transform: rotate(0deg);
-ms-transform: rotate(0deg);
transform: rotate(0deg)
}
100% {
-webkit-transform: rotate(360deg);
-ms-transform: rotate(360deg);
transform: rotate(360deg)
}
}
#loader-wrapper .loader-section {
position: fixed;
top: 0;
width: 51%;
height: 100%;
background: #5C7080;/*背景色 原#1abc9c */
z-index: 1000;
-webkit-transform: translateX(0);
-ms-transform: translateX(0);
transform: translateX(0)
}
#loader-wrapper .loader-section.section-left {
left: 0
}
#loader-wrapper .loader-section.section-right {
right: 0
}
.loaded #loader-wrapper .loader-section.section-left {
-webkit-transform: translateX(-100%);
-ms-transform: translateX(-100%);
transform: translateX(-100%);
-webkit-transition: all .1s .3s cubic-bezier(0.645,0.045,0.355,1.000);
transition: all .1s .3s cubic-bezier(0.645,0.045,0.355,1.000)
}
.loaded #loader-wrapper .loader-section.section-right {
-webkit-transform: translateX(100%);
-ms-transform: translateX(100%);
transform: translateX(100%);
-webkit-transition: all .1s .3s cubic-bezier(0.645,0.045,0.355,1.000);
transition: all .1s .3s cubic-bezier(0.645,0.045,0.355,1.000)
}
.loaded #loader {
opacity: 0;
-webkit-transition: all .3s ease-out;
transition: all .3s ease-out
}
.loaded #loader-wrapper {
visibility: hidden;
}
.no-js #loader-wrapper {
display: none
}
.no-js h1 {
color: #222
}
#loader-wrapper #load_title {
font-family: 'Open Sans';
color: #FFF;
font-size: 19px;
width: 100%;
text-align: center;
z-index: 9999999999999;
position: absolute;
top: 60%;
opacity: 1;
line-height: 30px
}
#loader-wrapper #load_title span {
font-weight: normal;
font-style: italic;
font-size: 13px;
color: #FFF;
opacity: .5
}
Loading…
Cancel
Save