jquery+svg实现视觉差异的进度条加载效果代码

代码语言:html

所属分类:进度条

代码描述:jquery+svg实现视觉差异的进度条加载效果代码,鼠标移动可实现三维视觉差异效果。

代码标签: jquery svg 视觉差异 进度条

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

<html>

<head>
    <style>
        html {
          font-size: 10px;
          background: #222;
          background: linear-gradient(to bottom, #222 0%, #000 100%);
        }
        
        body {
          font-family: "Titillium Web", sans-serif;overflow: hidden
        }
        
        @-webkit-keyframes enterAnimation {
          0% {
            transform: scale(0) translate3d(0, 0, 500px) rotateX(45deg);
          }
          100% {
            transform: scale(1) translate3d(0, 0, 0px) rotateX(0deg);
          }
        }
        
        @keyframes enterAnimation {
          0% {
            transform: scale(0) translate3d(0, 0, 500px) rotateX(45deg);
          }
          100% {
            transform: scale(1) translate3d(0, 0, 0px) rotateX(0deg);
          }
        }
        @-webkit-keyframes turnAnimation {
          0% {
            transform: rotate(0deg);
          }
          100% {
            transform: rotate(-360deg);
          }
        }
        @keyframes turnAnimation {
          0% {
            transform: rotate(0deg);
          }
          100% {
            transform: rotate(-360deg);
          }
        }
        @-webkit-keyframes bounceAnimation {
          0% {
            transform: translate3d(-50%, -50%, 0px);
          }
          100% {
            transform: translate3d(-50%, -50%, 50px);
          }
        }
        @keyframes bounceAnimation {
          0% {
            transform: translate3d(-50%, -50%, 0px);
          }
          100% {
            transform: translate3d(-50%, -50%, 50px);
          }
        }
        @-webkit-keyframes flickerAnimation {
          0% {
            opacity: 1;
          }
          100% {
            opacity: 0;
          }
        }
        @keyframes flickerAnimation {
          0% {
            opacity: 1;
          }
          100% {
            opacity: 0;
          }
        }
        .container {
          width: 300px;
          margin: 0 auto;
        }
        
        .inner-circle {
          width: 20em;
          height: 20em;
          border: 1px solid #ff6a13;
          border-radius: 20em;
        }
        
        .percentage {
          font-size: 4em;
          text-align: center;
          color: #fff;
          display: block;
          border: 1px solid #ff6a13;
          width: 3em;
          height: 3em;
          margin: 0 auto;
          border-radius: 3em;
          line-height: 3em;
          position: absolute;
          top: 50%;
          left: 50%;
          transform: translate3d(-50%, -50%, 50px);
        }
        
        .moving-counter {
          position: absolute;
          top: 50%;
          left: 50%;
          z-index: 300;
          transform: rotate(0deg);
        }
        .moving-counter:after {
          content: "";
          display: block;
          position: absolute;
          width: 20px;
          height: 15px;
          background: white;
          top: 0;
          width: 4px;
          z-index: 1000;
          transform: translate3d(0, -400px, 180px);
        }
        
        .main-container {
          width: 100vw;
          height: 100vh;
          display: flex;
          align-items: center;
          justify-content: center;
          transition: 250ms all ease-out;
          transform-style: preserve-3d;
          perspective: 1000px;
        }
        
        .svg-container {
          position: relative;
          transform-style: preserve-3d;
          -webkit-animation: enterAnimation 2500ms forwards cubic-bezier(0, 0, 0.25, 1.125);
                  animation: enterAnimation 2500ms forwards cubic-bezier(0, 0, 0.25, 1.125);
        }
        
        svg {
          display: block;
          position: absolute;
          top: 50%;
          left: 50%;
          transform: translate(-50%, -50%);
          transform-origin: 50% 50%;
        }
        
        rect, circle, path, polygon, circle, g {
          display: block;
          transform-origin: 50% 50%;
        }
        
        .loader-bg {
          opacity: 0.33;
          transform: translate3d(-50%, -50%, 50px);
        }
        .loader-bg path {
          animation: turnAnimation 10s reverse infinite linear;
        }
        
        .loader-main {
          opacity: 1;
          opacity: 0.33;
          transform: translate3d(-50%, -50%, 10px);
        }
        
        .outer-circle-1 {
          opacity: 0.25;
          opacity: 0.33;
          transform: translate3d(-50%, -50%, 100px);
        }
        
        .outer-circle-2 {
          transform: translate3d(-50%, -50%, 50px);
        }
        .outer-circle-2 path {
          -webkit-animation: turnAnimation 500s infinite linear;
                  animation: turnAnimation 500s infinite linear;
        }
        
        .middle-circle {
          opacity: 0.5;
          -webkit-animation: bounceAnimation 1s alternate infinite linear;
                  animation: bounceAnimation 1s alternate infinite linear;
        }
        
        .inner-circle {
          transform: translate3d(-50%, -50%, 25px);
        }
        
        .outer-triangles {
          opacity: 0.33;
          transform: translate3d(-50%, -50%, 200px);
        }
        
        .outer-triangles polygon,
        .middle-doodads polygon {
          fill: #ffffff;
        }
        .outer-triangles rect,
        .middle-doodads rect {
          opacity: 0.5;
          fill: #ffffff;
          -webkit-animation: flickerAnimation 5s ease-out alternate infinite;
                  animation: flickerAnimation 5s ease-out alternate infinite;
        }
        
        .middle-dooodads {
          transform: translate3d(-50%, -50%, -50px);
        }
    </style>
    <script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/jquery-3.2.1.min.js"></script>
</head>

<bod>
    <div class="main-container">
        <span class="percentage">0%</span>
        <span class="moving-counter"></span>
        <div class="svg-container">
            <svg class="loader-bg" version=".........完整代码请登录后点击上方下载按钮下载查看

网友评论0