我想制作一个在完成后“折叠”的进度条。
通过崩溃,我的意思是反复减少高度1
。
但是当进度条“完成”(达到宽度100)时,不会再发生任何事情了。
这是我的代码:
function frame() {
var elem = document.getElementById("myBar");
var height = 30;
if (width >= 100) {
while (elem.style.height != 0) {
elem.style.height = height + '%';
height--;
}
clearInterval(id);
} else {
width++;
elem.style.width = width + '%';
}
}
错误在哪里?
对不起,如果我的问题很愚蠢或重复;我搜索了论坛但发现没有重复的帖子。
提前致谢
答案 0 :(得分:0)
正如你所做的那样
elem.style.height = height + '%';
以下永远不会错:
while (elem.style.height != 0)
认为这是错误的:
"0%"==0 // false
我认为循环有问题。如果你想逐个减小高度,最好调用一个setInterval,因为一个循环会在不到1ms的时间内将高度改为0,这与将高度直接设置为0没有区别。