首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用html、css和javascript编写带有空格进度条

如何使用html、css和javascript编写带有空格进度条
EN

Stack Overflow用户
提问于 2019-03-20 22:14:58
回答 1查看 199关注 0票数 1

我有下面的代码。但是在运行之后,你会发现动画开始的时候有一个问题。我想让它看起来很漂亮:首先要上色,然后是其他部分,以此类推,直到80%。但现在,正如您所看到的,它是一团糟。请帮我弄一下这个。

我的代码:

代码语言:javascript
复制
function loadIt() {
  var elem = document.getElementById("myBar");   
  var width = 1;
  var id = setInterval(frame, 10);
  function frame() {
    if (width >= 80) {
      clearInterval(id);
    } else {
      width++; 
      elem.style.width = width + '%'; 
    }
  }
}
代码语言:javascript
复制
#myElement {
  width: 100%;
  background: repeating-linear-gradient(to right, green, green 10%, 
transparent 10%, transparent 12%);
}

#myBar {
  width: 0%;
  height: 30px;
  background: repeating-linear-gradient(to right, grey, grey 10%, 
transparent 10%, transparent 12%);
}
代码语言:javascript
复制
<div id="myElement">
  <div id="myBar"></div>
</div>

<br>
<button onclick="loadIt()">Click ON</button> 

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-20 22:23:53

造成混乱的原因是宽度以百分比计算,可变宽度也以百分比给出。在px中保留默认外部div CSS规则,仅使用百分比更改内部div

代码语言:javascript
复制
function loadIt() {
  var elem = document.getElementById("myBar");   
  var width = 1;
  var id = setInterval(frame, 10);
  function frame() {
    if (width >= 80) {
      clearInterval(id);
    } else {
      width++; 
      elem.style.width = width + '%'; 
    }
  }
}
代码语言:javascript
复制
#myElement {
  width: 100%;
  background: repeating-linear-gradient(to right, grey, grey 10px, 
transparent 10px, transparent 15px);
}

#myBar {
  width: 0%;
  height: 30px;
  background: repeating-linear-gradient(to right, green, green 10px, 
transparent 10px, transparent 15px);
}
代码语言:javascript
复制
<div id="myElement">
  <div id="myBar"></div>
</div>

<br>
<button onclick="loadIt()">Click ON</button>

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55262880

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档