【发布时间】:2021-01-12 01:13:23
【问题描述】:
如何让我的进度条根据我的问题编号递增显示。目前它在单击下一个问题按钮后完成到 100%。但是,如果单击前一个问题按钮,我试图让它增加问题编号的增量并向后退。包含所有代码的代码笔是here。谢谢。
var i = 0;
function moveForward() {
if (i == 0) {
i = 1;
var elem = document.getElementById("myBar");
var width = 10;
var id = setInterval(frame, 10);
function frame() {
if (width >= 100) {
clearInterval(id);
i = 0;
} else {
width++;
elem.style.width = width + "%";
elem.innerHTML = width + "%";
}
}
}
}
function moveBackward() {
if (i == 0) {
i = 1;
var elem = document.getElementById("myBar");
var width = 10;
var id = setInterval(frame, 10);
function frame() {
if (width >= 100) {
clearInterval(id);
i = 0;
} else {
width++;
elem.style.width = width + "%";
elem.innerHTML = width + "%";
}
}
}
}
///// 更新函数
function moveForward(i) {
console.log('i: ' + i);
var elem = document.getElementById("myBar");
switch(i) {
case 0:
elem.style.width = "33%";
elem.innerHTML = "33%";
break;
case 1:
elem.style.width = "66%";
elem.innerHTML = "66%";
break;
case 2:
elem.style.width = "100%";
elem.innerHTMl = "100%";
}
}
【问题讨论】:
-
为什么向后移动会增加宽度?
-
如果您只想调整一个完成度,请不要使用间隔。
-
那么你运行一个间隔直到它达到新的宽度......并且新的宽度以 100% 结束??
标签: javascript