【发布时间】:2014-02-11 05:28:48
【问题描述】:
我试图让多个进度条同时动画,但值不同。使用下面的 HTML 和 jQuery,这两个栏都指向相同的结束值。
<progress id="progressbar" value="50" max="100"></progress><span class="progress-value">0%</span>
<progress id="progressbar" value="30" max="100"></progress><span class="progress-value">0%</span>
......
<script>
$(document).ready(function() {
var progressbar = $('#progressbar'),
max = progressbar.attr('value'),
time = (1000/max)*2,
value = 0
var loading = function() {
value += 1;
addValue = progressbar.val(value);
$('.progress-value').html(value + '%');
if (value == max) {
clearInterval(animate);
}
};
var animate = setInterval(function() {
loading();
}, time);
});
</script>
我知道这是因为进度条的两个实例都遵循同一个 jQuery,但我不知道如何使其动态化。任何帮助将不胜感激。
编辑:
var progressbar2 = $('#progressbar2'),
max2 = progressbar2.attr('value'),
time2 = (1000/max2)*2,
value2 = 0
var loading2 = function() {
value2 += 1;
addValue = progressbar2.val(value);
$('.progress-value2').html(value + '%');
if (value2 == max2) {
clearInterval(animate2);
}
};
var animate2 = setInterval(function() {
loading2();
}, time);
这可行(添加原始函数的克隆),但显然这不是我想做的事情。有没有一种方法可以使用类似于 for 循环的方式遍历所有可能的进度条?
【问题讨论】:
-
ID 必须是唯一的,不能有两个
id="progressbar"。 -
是的,我知道问题出在哪里我只是不知道如何在 jQuery 中解决它。
标签: jquery html css dynamic progress-bar