练习7_进度条.html 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  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: 400px;
  10. height: 50px;
  11. border:3px solid black;
  12. border-radius: 10px;
  13. position: relative;
  14. overflow: hidden;
  15. }
  16. .progress-inner{
  17. height: 50px;
  18. width: 0;
  19. background-color: blue;
  20. position: absolute;
  21. top:0;
  22. left: 0;
  23. }
  24. .progress-text{
  25. position: absolute;
  26. top:0;
  27. left: 20px;
  28. height: 50px;
  29. line-height: 50px;
  30. }
  31. </style>
  32. </head>
  33. <body>
  34. <div class="container">
  35. <div class="progress-content">
  36. <div class="progress-inner"></div>
  37. <div class="progress-text">0%</div>
  38. </div>
  39. <button>start</button>
  40. </div>
  41. <script>
  42. var oBtn = document.getElementsByTagName("button")[0];
  43. var progressInner = document.getElementsByClassName("progress-inner")[0];
  44. var progressText = document.getElementsByClassName("progress-text")[0];
  45. var timer = null;
  46. oBtn.onclick = function(){
  47. var i = 0;
  48. timer = setInterval(function(){
  49. progressInner.style.width = progressInner.offsetWidth + 4 + "px";
  50. progressText.innerText = i + "%";
  51. i++
  52. if(i>100){
  53. clearInterval(timer)
  54. }
  55. },16)
  56. }
  57. </script>
  58. </body>
  59. </html>