练习题8_进度条.html 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>Document</title>
  7. <style>
  8. .progress-content {
  9. width: 500px;
  10. height: 80px;
  11. border: 5px solid black;
  12. border-radius: 10px;
  13. position: relative;
  14. overflow: hidden;
  15. }
  16. .progress-content .progress-bg {
  17. width: 0;
  18. height: 80px;
  19. background-color: orange;
  20. }
  21. .progress-num {
  22. color: #999;
  23. font-size: 40px;
  24. font-weight: bold;
  25. position: absolute;
  26. top: 0;
  27. left: 20px;
  28. height: 80px;
  29. line-height: 80px;
  30. }
  31. </style>
  32. </head>
  33. <body>
  34. <div class="progress-content">
  35. <div class="progress-bg"></div>
  36. <div class="progress-num">
  37. 0%
  38. </div>
  39. </div>
  40. <button>开始</button>
  41. <script>
  42. // 获取元素
  43. var progressNum = document.querySelector(".progress-num");
  44. var progressBg = document.querySelector(".progress-bg");
  45. var btn = document.querySelector("button");
  46. var timer = 0;
  47. // 按钮绑定事件
  48. btn.onclick = function () {
  49. var num = 0;
  50. // 进度条动画
  51. timer = setInterval(function () {
  52. if (num >= 100) {
  53. clearInterval(timer);
  54. } else {
  55. num++;
  56. progressBg.style.width = num + "%";
  57. progressNum.innerText = num + "%";
  58. }
  59. }, 16)
  60. }
  61. </script>
  62. </body>
  63. </html>