js 文字LOGO效果

<!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>
      * {
        padding: 0;
        margin: 0;
      }
      body {
        width: 100vh;
        height: 100vh;
        display: flex;
        justify-content: center;
        align-items: center;
        background: #34495e;
      }
      div {
        font-size: 5em;
        font-weight: bold;
        /* 大写 */
        text-transform: uppercase;
        color: #9b59b6;
      }
      div > span {
        position: relative;
        display: inline-block;
      }
      .color {
        animation-name: color;
        animation-duration: 1s;
        animation-iteration-count: 2;
        animation-timing-function: linear;
        animation-direction: alternate;
      }
      @keyframes color {
        50% {
          color: #f1c40f;
          transform: scale(2);
        }
        to {
          color: #e74c3c;
          transform: scale(0.5);
        }
      }
    </style>
  </head>
  <body>
    <div>chenxiucom</div>
  </body>
  <script>
    const div = document.querySelector("div");
    console.log(div);
    console.log(div.textContent);
    console.log([...div.textContent]);
    [...div.textContent].reduce(function (pre, cur, index) {
      console.log(pre, cur, index);
      pre == index && (div.innerHTML = "");
      let span = document.createElement("span");
      span.innerHTML = cur;
      div.appendChild(span);
      span.addEventListener("mouseover", function () {
        this.classList.add("color");
      });

      // 动画color移除
      span.addEventListener("animationend", function () {
        this.classList.remove("color");
      })
    }, 0);
  </script>
</html>

js 文字LOGO效果

上一篇:HashSet简要原理图


下一篇:Java HashSet、LinkedHashSet、TreeSet判定元素重复的原则