zoukankan      html  css  js  c++  java
  • 类似时钟的加载中动画

    效果:

    完整代码:

    <!DOCTYPE html>
    <html lang="en">
    
    <head>
      <meta charset="UTF-8">
      <meta http-equiv="X-UA-Compatible" content="IE=edge">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <title>Document</title>
      <style>
        body {
          min-height: 100vh;
          display: flex;
          align-items: center;
          justify-content: center;
          background: black;
        }
    
        .loader-cont {
          height: 240px;
          width: 240px;
          position: relative;
        }
    
        .dots {
          height: 100%;
          width: 100%;
          border-radius: 50%;
          display: block;
          position: absolute;
          top: 0;
          left: 50%;
          transform: translateX(-50%);
        }
    
        .dots>span {
          content: '';
          display: block;
          height: 10px;
          width: 10px;
          background: white;
          position: absolute;
          top: 0;
          left: 50%;
          transform: translateX(-50%);
        }
    
        .dots:nth-child(2)>span {
          top: calc(10px * 1);
        }
    
        .dots:nth-child(3)>span {
          top: calc(10px * 2);
        }
    
        .dots:nth-child(4)>span {
          top: calc(10px * 3);
        }
    
        .dots:nth-child(5)>span {
          top: calc(10px * 4);
        }
    
        .dots:nth-child(6)>span {
          top: calc(10px * 5);
        }
    
        .dots:nth-child(7)>span {
          top: calc(10px * 6);
        }
    
        .dots:nth-child(8)>span {
          top: calc(10px * 7);
        }
    
        .dots:nth-child(9)>span {
          top: calc(10px * 8);
        }
    
        .dots:nth-child(10)>span {
          top: calc(10px * 9);
        }
    
        .dots:nth-child(11)>span {
          top: calc(10px * 10);
        }
    
        .dots:nth-child(12)>span {
          top: calc(10px * 11);
        }
      </style>
    </head>
    
    <body>
      <div class="loader-cont">
        <div class="dots dot-one">
          <span></span>
        </div>
        <div class="dots dot-two">
          <span></span>
        </div>
        <div class="dots dot-three">
          <span></span>
        </div>
        <div class="dots dot-four">
          <span></span>
        </div>
        <div class="dots dot-five">
          <span></span>
        </div>
        <div class="dots dot-six">
          <span></span>
        </div>
        <div class="dots dot-seven">
          <span></span>
        </div>
        <div class="dots dot-eight">
          <span></span>
        </div>
        <div class="dots dot-nine">
          <span></span>
        </div>
        <div class="dots dot-ten">
          <span></span>
        </div>
        <div class="dots dot-eleven">
          <span></span>
        </div>
        <div class="dots dot-twelve">
          <span></span>
        </div>
      </div>
    </body>
    <script src='https://unpkg.co/gsap@3/dist/gsap.min.js'></script>
    <script>
      var tl = gsap.timeline({ defaults: { duration: 0.25, ease: "none" }, repeat: -1 });
      tl.to(".dots:not(.dot-one)", { rotate: "+=30" });
    
      tl.to(".dots:not(.dot-one):not(.dot-two)", { rotate: "+=30" });
      tl.to(".dots.dot-two > span", { top: 0 }, "<");
    
      tl.to(".dots:not(.dot-one):not(.dot-two):not(.dot-three)", { rotate: "+=30" });
      tl.to(".dots.dot-three > span", { top: 0 }, "<");
    
      tl.to(".dots:not(.dot-one):not(.dot-two):not(.dot-three):not(.dot-four)", { rotate: "+=30" });
      tl.to(".dots.dot-four > span", { top: 0 }, "<");
    
      tl.to(".dots:not(.dot-one):not(.dot-two):not(.dot-three):not(.dot-four):not(.dot-five)", { rotate: "+=30" });
      tl.to(".dots.dot-five > span", { top: 0 }, "<");
    
      tl.to(".dots:not(.dot-one):not(.dot-two):not(.dot-three):not(.dot-four):not(.dot-five):not(.dot-six)", { rotate: "+=30" });
      tl.to(".dots.dot-six > span", { top: 0 }, "<");
    
      tl.to(".dots:not(.dot-one):not(.dot-two):not(.dot-three):not(.dot-four):not(.dot-five):not(.dot-six):not(.dot-seven)", { rotate: "+=30" });
      tl.to(".dots.dot-seven > span", { top: 0 }, "<");
    
      tl.to(".dots:not(.dot-one):not(.dot-two):not(.dot-three):not(.dot-four):not(.dot-five):not(.dot-six):not(.dot-seven):not(.dot-eight)", { rotate: "+=30" });
      tl.to(".dots.dot-eight > span", { top: 0 }, "<");
    
      tl.to(".dots:not(.dot-one):not(.dot-two):not(.dot-three):not(.dot-four):not(.dot-five):not(.dot-six):not(.dot-seven):not(.dot-eight):not(.dot-nine)", { rotate: "+=30" });
      tl.to(".dots.dot-nine > span", { top: 0 }, "<");
    
      tl.to(".dots:not(.dot-one):not(.dot-two):not(.dot-three):not(.dot-four):not(.dot-five):not(.dot-six):not(.dot-seven):not(.dot-eight):not(.dot-nine):not(.dot-ten)", { rotate: "+=30" });
      tl.to(".dots.dot-ten > span", { top: 0 }, "<");
    
      tl.to(".dots:not(.dot-one):not(.dot-two):not(.dot-three):not(.dot-four):not(.dot-five):not(.dot-six):not(.dot-seven):not(.dot-eight):not(.dot-nine):not(.dot-ten):not(.dot-eleven)", { rotate: "+=30" });
      tl.to(".dots.dot-eleven > span", { top: 0 }, "<");
    
      tl.to(".dots:not(.dot-one):not(.dot-two):not(.dot-three):not(.dot-four):not(.dot-five):not(.dot-six):not(.dot-seven):not(.dot-eight):not(.dot-nine):not(.dot-ten):not(.dot-eleven):not(.dot-twelve)", { rotate: "+=30" });
      tl.to(".dots.dot-twelve > span", { top: 0 }, "<");
    
      tl.to(".dots.dot-one", { rotate: "+=30" });
      tl.to(".dots.dot-one > span", { top: 110 }, "<");
    
      tl.to(".dots.dot-one, .dots.dot-two", { rotate: "+=30" });
      tl.to(".dots.dot-two > span", { top: 100 }, "<");
    
      tl.to(".dots.dot-one, .dots.dot-two, .dots.dot-three", { rotate: "+=30" });
      tl.to(".dots.dot-three > span", { top: 90 }, "<");
    
      tl.to(".dots.dot-one, .dots.dot-two, .dots.dot-three, .dots.dot-four", { rotate: "+=30" });
      tl.to(".dots.dot-four > span", { top: 80 }, "<");
    
      tl.to(".dots.dot-one, .dots.dot-two, .dots.dot-three, .dots.dot-four, .dots.dot-five", { rotate: "+=30" });
      tl.to(".dots.dot-five > span", { top: 70 }, "<");
    
      tl.to(".dots.dot-one, .dots.dot-two, .dots.dot-three, .dots.dot-four, .dots.dot-five, .dots.dot-six", { rotate: "+=30" });
      tl.to(".dots.dot-six > span", { top: 60 }, "<");
    
      tl.to(".dots.dot-one, .dots.dot-two, .dots.dot-three, .dots.dot-four, .dots.dot-five, .dots.dot-six, .dots.dot-seven", { rotate: "+=30" });
      tl.to(".dots.dot-seven > span", { top: 50 }, "<");
    
      tl.to(".dots.dot-one, .dots.dot-two, .dots.dot-three, .dots.dot-four, .dots.dot-five, .dots.dot-six, .dots.dot-seven, .dots.dot-eight", { rotate: "+=30" });
      tl.to(".dots.dot-eight > span", { top: 40 }, "<");
    
      tl.to(".dots.dot-one, .dots.dot-two, .dots.dot-three, .dots.dot-four, .dots.dot-five, .dots.dot-six, .dots.dot-seven, .dots.dot-eight, .dots.dot-nine", { rotate: "+=30" });
      tl.to(".dots.dot-nine > span", { top: 30 }, "<");
    
      tl.to(".dots.dot-one, .dots.dot-two, .dots.dot-three, .dots.dot-four, .dots.dot-five, .dots.dot-six, .dots.dot-seven, .dots.dot-eight, .dots.dot-nine, .dots.dot-ten", { rotate: "+=30" });
      tl.to(".dots.dot-ten > span", { top: 20 }, "<");
    
      tl.to(".dots.dot-one, .dots.dot-two, .dots.dot-three, .dots.dot-four, .dots.dot-five, .dots.dot-six, .dots.dot-seven, .dots.dot-eight, .dots.dot-nine, .dots.dot-ten, .dots.dot-eleven", { rotate: "+=30" });
      tl.to(".dots.dot-eleven > span", { top: 10 }, "<");
    
      tl.to(".dots.dot-one, .dots.dot-two, .dots.dot-three, .dots.dot-four, .dots.dot-five, .dots.dot-six, .dots.dot-seven, .dots.dot-eight, .dots.dot-nine, .dots.dot-ten, .dots.dot-eleven, .dots.dot-twelve", { rotate: "+=30" });
      tl.to(".dots.dot-twelve > span", { top: 0 }, "<");
    
    </script>
    
    </html>
    博客园作者:herry菌,原文链接:

    朋友,看到这里,关注作者的公众号吧,不漏掉更新哦

  • 相关阅读:
    iOS中按钮点击事件处理方式
    用PNChart绘制折线图
    用PNChart绘制饼状图简介
    MWeb发布到博客园配置
    对数组排序后,获取排序前元素索引
    iOS学习笔记之触摸事件&UIResponder
    iOS学习笔记之UITableViewController&UITableView
    4.matplotlib绘制直方图
    2. matplotlib绘制散点图
    3.matplotlib绘制条形图
  • 原文地址:https://www.cnblogs.com/wuhairui/p/15720103.html
Copyright © 2011-2022 走看看