我有一个进度条,应该从0%到100%填充,只需点击3秒钟。
<progress class="progress is-large is-info" max="100" value="10"></progress>
</br>
<button onclick="move()">Click Me</button>
由于没有 document.getElementByValue ,如何在循环中增加 value 属性才能完成?
答案 0 :(得分:3)
将属性id
添加到进度条,然后按documnet.getElementById
访问该元素。 Alos添加了循环以显示进度。
检查以下示例:
var progress = document.getElementById("progressbar");
function move() {
var a = setInterval(function() {
progress.value = progress.value + 1;
if (progress.value == 100) {
clearInterval(a);
}
}, 25);
}
&#13;
.progress.is-large {
height: 40px;
}
&#13;
<progress id="progressbar" class="progress is-large is-info" max="100" value="10"></progress>
</br>
<button onclick="move()">Click Me</button>
&#13;
答案 1 :(得分:3)
在进度条中添加id
可以使用document.getElementById
。之后,所有需要发生的事情都是设置一个间隔并增加progress.value
。 Ids非常适合这种情况,因为它们是页面上特定元素的唯一标识符。
http://codepen.io/chasenyc/pen/grWrKR
function move() {
var progress = document.getElementById("progressbar");
var width = 1;
var id = setInterval(frame, 10);
function frame() {
if (width >= 100) {
clearInterval(id);
} else {
width++;
progress.value = width
}
}
}
答案 2 :(得分:3)
这是一种与原始尝试不同的方法,但与循环+ 1相比有一些优势:
缺点是它需要CSS3。
#progress-bar-container {
background-color: #ddd;
width: 300px;
}
#progress-bar {
background-color: #08f;
height: 20px;
transition: width 3s linear;
width: 0%;
}
#progress-bar.full {
width: 100%;
}
<div id="progress-bar-container">
<div id="progress-bar"></div>
</div>
<button onclick="document.getElementById('progress-bar').className += ' full'">Click Me</button>