Fork me on github

进度条

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>

 <style>
  .progress4 {
    display: block; 
    font: inherit;
    height: 50px;
    width: 300px;
    pointer-events: none;
  }
  .btn {
    margin-top: 30px;
  }
  </style>

<body>
    <meter id="progress4" class="progress4" low="60" high="80" min="0" max="100" value="0"></meter>
    <button id="btn" class="btn">点我一下嘛~</button>

</body>
<script>
    'use strict';
    let startTimestamp = (new Date()).getTime();
    let currentPercentage = 0;
    let maxPercentage = 100;
    let countDelay = 100;
    let timer = null;
    let start = false;
    const percentageChange = () => {
      const currentTimestamp = (new Date()).getTime();
      if (currentTimestamp - startTimestamp >= countDelay) {
        currentPercentage++;
        startTimestamp = (new Date()).getTime();
        progress4.value = currentPercentage;
      };
      if (currentPercentage < maxPercentage) {
        timer = window.requestAnimationFrame(percentageChange);
      } else {
        window.cancelAnimationFrame(timer);
      };
    };
    const clickHander = () => {
      if (!start) {
        start = true;
        percentageChange();
      };
    };
    btn.addEventListener('click', clickHander);
  </script>

</html>

 

posted @ 2023-02-10 14:19  我の前端日记  阅读(7)  评论(0编辑  收藏  举报
Copyright © 2021 LinCangHai
Powered by .NET 5.0 on Kubernetes